介绍在CubeMx+VS下创建STM32项目的两种方式
2024-05-09 来源:elecfans
方法一:通过Embedded Project Wizard 提供的例程创建
优点:直接通过VS创建,配置过程简单直观
缺点:修改初始化配置麻烦,只能从例程生成(或许是我还没研究明白)...
1.创建Embedded Project Wizard项目
2.命名解决方案,指定存储路径
如果点击创建后出现下图窗口,直接OK即可
3.配置项目类型
↑C Library Type 选择支持浮点的输出函数比较好
4.选择模板项目
5.※调试模式选择
①将调试器连接到电脑
②Debug Method 选择USB->ST-Link v2
③配置调试选项
STM32采用SWD接口模式
有关Debug Protocol:
④※硬件连线
※注意不要双向供电(血淋淋的教训)!!!
SWD 接口模式下调试使用 SWDIO SWCLK 两线。对于芯片复位脚RST ,考虑到烧写需要复位芯片,也推荐连接RST引脚(即连五根线)。
接线图:
⑤接好线后可以按test检测连接是否有误,若无问题即可开始代码编写
※在通过这种方式生成的项目中,startup_stm32xxxxx.c和system_stm32xxxxx.c为系统的配置函数,可以进行更改(配置寄存器)
方法二:通过CubeMX创建初始化的代码 (※推荐)
优点:更改配置容易,体验棒
1.打开STM32CubeMX
按需求自己选择创建的类型,这里我选择从MCU Selector开始
2.选择MCU/开发板
3.系统配置
①配置引脚
可以告别麻烦的寄存器操作,直接用图形化的方式配置引脚、时钟、看门狗、中断源、硬件iicspican等等,这也是我推荐CubeMX的原因
配置后生成的代码后期可通过CubeMX再次更改,可以先编写代码,随时可以更改
②※时钟源的选择
其中外部时钟的配置可在上一步骤的RCC选项中配置。时钟源的选择:
LSE: 外部低速时钟源(<1Mhz),可以在RCC选项中配置
HSE: 外部高速时钟源(4-16Mhz),可以在RCC选项中配置
外部时钟源有BYPASS和Crystal/Ceramic两种模式。后者即我们熟悉的无源晶振两脚输入模式。
BYPASS即旁路模式,这一模式下外部时钟信号从OSC_IN引脚输入,OSC_OUT引脚处于高阻态。
HSI: 芯片自带高速时钟源(8Mhz)。HSI的精度比较差(1%),其校准值会在每次复位时加载。在对精度要求比较高的情况下推荐使用外部时钟源。省事省力直接用HSI
LSI: 芯片自带低速时钟源(40khz),看门狗时钟源。
✦STM32具有一个FC功能的PLL,可以将HSI和HSE的时钟信号倍频(最高16x)。配置时钟源请走PLL(这样才能高速)。
✦关于CSS:
✦关于MCO(Master Clock Output):当在RCC中开启MCO后,可通过引脚输出时钟,时钟源可选择。
一种时钟源配置:
③※项目配置
选择Basic代码结构; 选择GPDSC为工具链
(可选)配置功耗模式、节能模式和功率估算:
完成后只要再就完成了项目的生成。
※要修改配置,打开目录下的xxxx.ioc再重新生成代码即可。
4.创建Embedded Project Wizard项目
配置新项目时项目名称任易填
4.导入上面CubeMX创建的GPDSC格式项目
如图:
Debug Method 的选择方式同方法一
项目即导入成功了。