RT-Thread Studio与STM32CubeMX联合编程

硬件平台:小熊派开发板STM32L431RCT6

软件平台:RT-Thread Studio    STM32CubeMX

1.首先是使用RT-Thread Studio新建一个项目

RT-Thread Studio与STM32CubeMX联合编程_第1张图片

2. 完成后打开STM32CubeMX,双击

RT-Thread Studio与STM32CubeMX联合编程_第2张图片

  配置使用外部晶振

RT-Thread Studio与STM32CubeMX联合编程_第3张图片

 配置串口

RT-Thread Studio与STM32CubeMX联合编程_第4张图片

 时钟配置

RT-Thread Studio与STM32CubeMX联合编程_第5张图片

 工程管理

RT-Thread Studio与STM32CubeMX联合编程_第6张图片

 RT-Thread Studio与STM32CubeMX联合编程_第7张图片

 点击生成代码

再回到RT-Thread Studio 中发现cubemx文件下多了许多代码,

RT-Thread Studio与STM32CubeMX联合编程_第8张图片

 由于我是第二次创建,发现cubemx下只有Inc和Src文件夹,直接就是配置好的,这点我也感到奇怪,第一次创建的时候如果生成很多代码,我们只把Inc和Src文件夹保留下来。其它文件夹删掉即可,因为其它代码我们都用不到,而且编译也会导致出错

RT-Thread Studio与STM32CubeMX联合编程_第9张图片

 并且在cubemx文件夹下添加文件SConscript,我第二次创建工程时,这个文件已经存在了,第一次创建工程时需要自己添加

 RT-Thread Studio与STM32CubeMX联合编程_第10张图片

 文件内容如下


import os
from building import *

cwd = GetCurrentDir()
src  = Glob('*.c')
# add cubemx drivers
src = Split('''
Src/stm32l4xx_hal_msp.c
Src/main.c
''')

path = [cwd]
path += [cwd + '/Inc']

group = DefineGroup('cubemx', src, depend = [''], CPPPATH = path)

Return('group')

 右键工程BearPi_Demo,更新软件工程RT-Thread Studio与STM32CubeMX联合编程_第11张图片

 此时工程中有两个main函数,需要把cubemx中的main函数定义为weak函数,

RT-Thread Studio与STM32CubeMX联合编程_第12张图片

 把cubemx中main.c的一些外设初始化代码,复制到application文件下的main函数中去初始化

 RT-Thread Studio与STM32CubeMX联合编程_第13张图片

 添加函数初始化的时候,配置好相应的头文件包含,这里不细说

 RT-Thread Studio与STM32CubeMX联合编程_第14张图片

 由于我是第二次创建,此时编译已经通过,如果出现头文件找不能的情况,需要自己添加头文件路径,然后就能编译通过了

RT-Thread Studio与STM32CubeMX联合编程_第15张图片

如果程序编译无错,硬件连接无错,但编译下载运行后,串口没有数据输出,那可能是芯片包的问题

RT-Thread Studio与STM32CubeMX联合编程_第16张图片

 原来我使用的是STM32L4  0.2.3的包,程序运行后串口无输出,后来删除了,安装0.1.9的芯片包可以正常运行

你可能感兴趣的:(RT-Thread,OS学习,stm32,单片机,arm)