STM32cubeMX的初始化以及初步调试
一、安装STM32cubeMX
1.1 安装JRE
由于 STM32CubeMX 软件是基于 JAVA 环境运行的,所以需要安装 JRE (Java Runtime Environment)才能使用。
安装链接如下:JRE
根据提示安装即可,注意安装的位数为64位。
1.2 安装STM32cubeMX
官网链接如下:cubeMX
。
同样地,根据安装提示,一步步操作就可以正确安装啦。
1.3 安装相应的hal库
安装STM32cubeMX后,打开,点击上方的Help -> Manage embedded software packages
选择芯片型号和版本号后,点击istall now 即可。
二、初始化cubeMX
在正确安装cubeMX后,我们需要先配置一些选项,操作如下。
2.1.创建工程
2.2.选择芯片型号
具体型号为STM32F103C8,然后点击start project
2.3.选择调试方式
点击system core
进入SYS,在debug下选择serial wire:
2.4.配置时钟
点击Clock Configuartion,勾选PLLCLK
.将hse那里设为Crystal/Ceramic Resonator:
2.5 添加引脚
我们要添加的引脚为A4,B9,C15
.选择GPIO选项,点击芯片选择合适引脚
选择模式为端口输出
2.6命名项目
选择路径和IDE
2.7选择初始文件
进入 code generate界面,选择生成初始化.c/.h文件,后面点击generate code,选择open project
三、在keil上的仿真
3.1 打开项目
根据我们创作的目录,找到并打开工程文件
3.2 添加代码
找到对应路径的main文件,在主函数先添加如下代码
图中代码如下
SystemClock_Config();//系统时钟初始化
MX_GPIO_Init();//gpio初始化
while (1)
{
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_4,GPIO_PIN_RESET);//PA4亮灯
HAL_GPIO_WritePin(GPIOB,GPIO_PIN_9,GPIO_PIN_SET);//PB9熄灯
HAL_GPIO_WritePin(GPIOC,GPIO_PIN_15,GPIO_PIN_SET);//PC15熄灯
HAL_Delay(1000);//延时1s
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_4,GPIO_PIN_SET);//PA4熄灯
HAL_GPIO_WritePin(GPIOB,GPIO_PIN_9,GPIO_PIN_RESET);//PB9亮灯
HAL_GPIO_WritePin(GPIOC,GPIO_PIN_15,GPIO_PIN_SET);//PC15熄灯
HAL_Delay(1000);//延时1s
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_4,GPIO_PIN_SET);//PA4熄灯
HAL_GPIO_WritePin(GPIOB,GPIO_PIN_9,GPIO_PIN_SET);//PB9熄灯
HAL_GPIO_WritePin(GPIOC,GPIO_PIN_15,GPIO_PIN_RESET);//PC15亮灯
HAL_Delay(1000);//延时1s
}
3.3观察输出波形
选择芯片和虚拟调试
选择晶振大小
编译
调试
选择逻辑分析仪
选择引脚(如果出现UNKONWN SIGNAL,那么可能在debug处存在错误),
配置界面选项,点击in和out调制grind大小,使之达到1s.
运行,点击箭头所示,运行程序,得到下图
四、烧录到芯片
4.1 实验器材
usb转ttl接口(CH340)
STM32最小开发板
杜邦线
4.2软件部分
生成hex文件
选择正确的路径
烧录前,需要先了解stm32的三种启动模式
BOOT1=x BOOT0=0 从用户闪存启动,这是正常的工作模式。
BOOT1=0 BOOT0=1 从系统存储器启动,这种模式启动的程序功能由厂家设置。
BOOT1=1 BOOT0=1 从内置SRAM启动,这种模式可以用于调试。
所以烧录的时候,BOOT0需要置一,烧录完后如果想打开串口助手查看程序运行需要把BOOT0置零,回归正常工作状态
4.3结果展示
流水灯
总结
``
1.cubeMX的初始化选项较多需注意
2.调制代码是,要设置debug选项
3.在选择要观察的引脚时,可以简写输入为PORTX.N,(X表示A…E,N表示0…15)
参考链接
1.https://blog.csdn.net/qq_55691662/article/details/120923869
2.https://blog.csdn.net/qq_55691662/article/details/120923869
3.https://blog.csdn.net/weixin_46129506/article/details/120780184
4.https://blog.csdn.net/weixin_45770271/article/details/105326923