单片机
返回首页

介绍在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 的选择方式同方法一

图片

项目即导入成功了。


进入单片机查看更多内容>>
相关视频
  • RISC-V嵌入式系统开发

  • SOC系统级芯片设计实验

  • 云龙51单片机实训视频教程(王云,字幕版)

  • 2022 Digi-Key KOL 系列: 你见过1GHz主频的单片机吗?Teensy 4.1开发板介绍

  • TI 新一代 C2000™ 微控制器:全方位助力伺服及马达驱动应用

  • MSP430电容触摸技术 - 防水Demo演示

精选电路图
  • 家用电源无载自动断电装置的设计与制作

  • 短波AM发射器电路设计图

  • 使用ESP8266从NTP服务器获取时间并在OLED显示器上显示

  • RS-485基础知识:处理空闲总线条件的两种常见方法

  • 如何调制IC555振荡器

  • 基于TDA2003的简单低功耗汽车立体声放大器电路

    相关电子头条文章