使用STMCubeMX生成代码实现点亮流水灯

一、安装STM32cubeMX

    安装地址: 下载好之后打开,点击Next 同意协议,继续Next
    勾选第一个就好,点击Next 选择一个安装路径,点击确定,之后Next 点击Next 之后点击安装,安装完成如下图 安装完成之后还没完,打开STM32CubeMX,点击Help(这里可能会打不开,如果打不开等一下就好) 勾选依赖包并install now 开始在线安装,等待完成就好

二、用STM32CubeMX初始化代码

    输入芯片型号,这里我用的STM32F103C8,然后点击最右侧的start project 点击System Core,再点击SYS,在debug选项中选择Serial Wire 把PLLCLK右边选上 将hse设为Crystal/Ceramic Resonator 点击相应的引脚设置输出寄存器,选择output那一项。我一共选了三个,分别是PA0,PB9,PC15 点击project manager,填写路径和项目名,将IDE改为MDK-ARM 进入code generate界面,选择生成初始化.c/.h文件,后面点击generate code,之后等待一下 点击Open就可以从keil中打开项目了

三、修改代码并点亮流水灯

    打开项目之后,打开main.c文件,找到while函数在里面添加实现功能的代码
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_0,GPIO_PIN_RESET);//PA0亮灯
		HAL_Delay(500);//延时0.5s
		HAL_GPIO_WritePin(GPIOA,GPIO_PIN_0,GPIO_PIN_SET);//PA0熄灯
		HAL_Delay(500);//延时0.5s		
		HAL_GPIO_WritePin(GPIOB,GPIO_PIN_9,GPIO_PIN_RESET);//PB9亮灯
		HAL_Delay(500);//延时0.5s
		HAL_GPIO_WritePin(GPIOB,GPIO_PIN_9,GPIO_PIN_SET);//PB9熄灯
		HAL_Delay(500);//延时0.5s		
		HAL_GPIO_WritePin(GPIOC,GPIO_PIN_15,GPIO_PIN_RESET);//PC15亮灯
		HAL_Delay(500);//延时0.5s		
		HAL_GPIO_WritePin(GPIOC,GPIO_PIN_15,GPIO_PIN_SET);//PC15熄灯
		HAL_Delay(500);//延时0.5s
    注意:烧录运行,串口烧录要断电之后把boot0置0才能正常运行。

四、运行结果

    信号波形图 流水灯运行结果

STMCubeMX生成代码实现点亮流水灯

STMCubeMX生成代码实现点亮流水灯

五、总结

使用STMCubeMX生成代码编程比自己写代码会方便很多,只需要自己写一个while函数中的内容就够了。同时也有一些微小的诧异比如将BOOT0置零。

六、参考资料

经验分享 程序员 微信小程序 职场和发展