你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【经验分享】STM32CubeIDE点亮跑马灯

[复制链接]
STMCU小助手 发布时间:2022-4-25 22:00
点亮跑马灯
只要我们在STM32CubeIDE的设置中按照2.1.3来配置,更改io引脚更新时就不会覆盖掉我们新建的这几个文件以及文件夹。
这边以跑马灯为例,控制在IO口中已经定义好的两个引脚“IO_LED0”和”IO_LED1”。首先我们先修改“LED.h”中的代码使其调用main.h,并新建LED调用函数。

]GDT_IB7Z03SSV{E1U(KA~F.png

此时点击左上角的全部编译 按钮,此时应该顺利通过。

SF42JO@HLCBLYFT_Q~UYV)L.png

打开“gpio.c”查看gpio的初始化情况,可以看到程序设置过的引脚配置,产生了一段“IO_LED0_Pin”和“IO_LED1_Pin”的GPIO初始化代码。可以看到其中一行代码设置了两个IO电平的高低。

Y04EIU95}LZ]8HP55$VOK46.png

打开我们自己新建的“LED.c”文件,如法炮制的根据h文件的新建“LED_Run”函数。
并添加“HAL_GPIO_WritePin”函数。

83da6a56ba0b40479cdfb6e4bd893774.png

查看“HAL_GPIO_WritePin”函数的定义,可以看到“SET”是1,“RESET”是0。

81fd715f675c4e10be9371e735d063ba.png

接着我们在“LED_Run”函数中配置好相应的电平位,并添加HAL库自带的延时函数“HAL_Delay();”。
开发板LED电路为串联接电源,因此高电平时LED关闭,低电平时LED开启。
添加完后的“LED_Run”程序代码如下图所示:

c76622ff389d4b07b1b6faf2e6382173.png

以下为程序源码:
  1. #include "LED.h"
  2. /** Configure pins
  3.      PB0   ------> IO_LED0_Pin
  4.      PB1   ------> IO_LED1_Pin
  5. */
  6. void LED_Run(void)
  7. {
  8.   /*Configure LED pin Output  */
  9.   HAL_GPIO_WritePin(GPIOB, IO_LED0_Pin, GPIO_PIN_SET);                        //PB0设置为高电平
  10.   HAL_GPIO_WritePin(GPIOB, IO_LED1_Pin, GPIO_PIN_RESET);                //PB1设置为低电平
  11.   HAL_Delay(1000);                                                                                        //延时1000ms
  12.   HAL_GPIO_WritePin(GPIOB, IO_LED0_Pin, GPIO_PIN_RESET);                //PB0设置为低电平
  13.   HAL_GPIO_WritePin(GPIOB, IO_LED1_Pin, GPIO_PIN_SET);        //PB1设置为高电平
  14.   HAL_Delay(1000);
  15. }
复制代码

之后在“main.c”函数的“USER CODE Includes”注释中添加“LED.h”。

85a59a6bb5b848a1a1a62bc23f45b2d4.png

并在主循环函数中添加调用“LED_Init”函数即可编译 。

(U3%~6Z]3NKB53LX@]DWS)J.png

切记在Main.c函数中添加代码一定要在规范位置添加代码,否则会被覆盖。
5.10 编译和下载代码
编译有三种方式:
1.点击左上菜单栏的编译图标,
2.点开project点“全部编译”,
3.快捷键“Ctrl+B”。

UMO_QMG31BEQY{@U@]6B1ED.png

5.11 生成HEX文件
STM32CubeIDE在编译后会自动生成烧录文件,默认生成的为bin二进制格式和elf二进制格式,这两种都可以用STM32CubeProgrammer烧录,但为了统一方便管理文件,这边还是推荐编译产生HEX格式文件。
右键点击工程文件打开属性,选择“C/C++Buil”->“Setting” ->“Tool Setting”

5SDG[DSKKQBUWX3Z3W)2)0A.png

点击“MCU Post build outputs”,勾选“Convert toIntel Hex file”即可。

ZF14D7Y___A(GW2(~ZJ4ZHO.png

生成的文件可以在工程文件夹“Debug”下找到

e4d84881dc1340d29252705e25534f05.png


收藏 评论0 发布时间:2022-4-25 22:00

举报

0个回答

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版