STM32CubeIDE for vscode 与 stm32cubeMX Note
一. 创建工程

首先启动stm32CubeMX


1.RCC配置
RCC : Reset and Clock Control

这里我将MCU的外部高速时钟(HSE)设置为:
Crystal Resonator:晶体谐振器(晶振,石英晶振) Ceramic Resonator:陶瓷谐振器(陶瓷振子)
外部低速时钟(LSE)不使能.
2. SYS设置

Debug栏需要设置为 Serial Wire , 否则无法使用ST Link等调试器.
GPIO设置示例:

时钟配置


注:我选择的芯片型号是: STM32F103C8T6
1.MCU内部HSI RC震荡电路误差较大,一般不使用.
APB(Advanced Peripheral Bus,高级外设总线),分为APB1和APB2两个独立时钟域:
- APB1:低速外设域,挂载低速率外设,时钟上限更低;
- APB2:高速外设域,挂载高速外设,时钟上限更高。
APB1 peripheral clocks (MHz)
含义:APB1 总线的普通外设工作时钟频率,是挂载在 APB1 总线上非定时器类外设的基准工作时钟。
- 挂载外设:USART2/3、SPI2、I2C1/2、CAN、USB、电源管理 (PWR)、备份寄存器 (BKP)、DAC、窗口看门狗等低速外设。
APB1 Timer clocks (MHz)
含义:APB1 总线上定时器(TIM2~TIM7 等通用 / 基本定时器)的专属计数时钟。
APB2 peripheral clocks (MHz)
含义:APB2 总线的普通外设工作时钟频率,是挂载在 APB2 总线上高速非定时器外设的基准工作时钟。
- 挂载外设:GPIOA~G、USART1、SPI1、ADC 模数转换器、复用功能 IO (AFIO) 等高速外设。
APB2 timer clocks (MHz)
含义:APB2 总线上定时器(主要是高级定时器 TIM1,大容量型号还包含 TIM8)的专属计数时钟。

注意:工程路径不要有中文和空格.

使用stm32cubeMX生成代码完毕后,回到vscode,在vscode中打开生成的项目文件夹.

对于C语言的语法解析,STM32官方插件已经自带此功能,所以不要安装上图中推荐的拓展,避免双方发生冲突

当对CMakeList文件进行修改后,需要根据新的CMakeList对工程进行重新配置.如上图所示:
安装stlink驱动,确保电脑接上stlink后在设备管理器中能够正确识别该器件.

如上图所示:点击运行和调试,我这里是stlink,所以我选择stlink GDB server
如果出现烧录或连接失败,请升级固件:

固件比较老旧的stlink可能会出现烧录失败,
可以使用stlink固件升级功能对固件进行升级
注意在升级前和升级完成后都要插拔一次stlink与电脑的连接
更多推荐
所有评论(0)