乔山办公网我们一直在努力
您的位置:乔山办公网 > word文档 > STM32 HAL库下三行代码点亮一个LED-word对号

STM32 HAL库下三行代码点亮一个LED-word对号

作者:乔山办公网日期:

返回目录:word文档

说起这个HAL库,真的是初学者的福音啊,简单的开发再也不用特意的去关心物理层的好多东东了。况且对于TI,标准库已经失去更新和技术支持了。HAL库才是大势所趋。

再说STM32CubeMX,更是初学者偷懒的好武器,图形化芯片配置软件,直接生成对应的初始化代码。输出直接就是HAL库,好多功能可以直接调用了。对于我等英语不太好的菜鸟来说太方便了。

不说怎么安装STM32CubeMX和MDK-ARM了。。。初学者请自行百度,安装的时候注意这两个软件对中文目录支持都不太好就行了。。。

需要准备的材料和要理解的内容:

材料:1、STM32下载器一个,这个看你心情,串口,J-LINK,u-link,SWD 自己选择咯。反正最终结果都一样。

2、STM32实验板或者核心板一块,面包板可选。

3、LED一个、27欧电阻一个(可选,我没用,也没烧掉LED)、导线若干。。。

4、电脑一台{无所谓配置。灵活好用就行。}。

5、脑子一个{无所谓配置。灵活好用就行。}


外围电路原理图(简单到我都不好意思画出来。。。):

STM32 HAL库下三行代码点亮一个LED

此次用到HAL库中的3个函数

1、HAL_GPIO_WritePin(GPIOB,GPIO_PIN_0,GPIO_PIN_SET);

端口写入函数:括号内分别代表:端口,端口针脚,端口要被设置的参数(SET是高电平,RESET是低电平)。

2、HAL_GPIO_TogglePin(GPIOB,GPIO_PIN_0);

端口翻转函数:括号内功能同1.。。。

3、HAL_Delay(1000);

库自带的延时函数,括号内数字的单位是ms(这个函数在后期的一些带有复杂中断程序上会出岔子,以后遇到再说...).


好了。要了解的,和准备的就这么多,下面安图开工就好。。。实在不理解的,请自行百度,我这文采我自己也是醉了。。会用不会表达。。。

1、开SM32CubeMX,点 NEW Project

STM32 HAL库下三行代码点亮一个LED

2、选择单片机型号(我的是STM32F103RCT6,所以最后选择STMEWF103RCTx)

STM32 HAL库下三行代码点亮一个LED

3、pinout页面:配置RCC时钟、配置端口,我用PB0来接LED。点击PB0,在弹出的菜单选择GPIO_Output.

STM32 HAL库下三行代码点亮一个LED

4、clock configuration页面:如图配置时钟,注意PLL部分,选择HSE,8M,9倍频。。其他部分可以忽略。以后用到再说。

STM32 HAL库下三行代码点亮一个LED

5、设置生成代码的选项,代码保存位置自行选择。。不必和我一摸一样,但是最好没有中文目录。

tool chain/IDE这里,我用的MDK-ARM5,我就选择这个了。看大家喜好,你用的什么集成环境,这里就选择 什么就行了

STM32 HAL库下三行代码点亮一个LED

6、代码选项:一定要这样设置,至于为什么。。。你自己百度每个选项的英文就好了。。我懒。。。不打字了

尤其那几个对勾,第三个不打勾的话,以后硬件有变动需要重新生成代码的时候,小心你自己在main里面些 的代码会灰飞烟灭哦。。。

STM32 HAL库下三行代码点亮一个LED

7、点击上面的设置都好了,点击左上角project菜单,generate code,稍等会提示你代码生成了,直接选择 open project 就可以,。

STM32 HAL库下三行代码点亮一个LED

8、IDE里面已经打开的main.c,对于STM32CubeMX生成的文档,你自己要加入的代码一定要写入到

/* USER CODE BEGIN */和/* USER CODE END */之间,看你代码功能,写入到相应的区域。不要一通乱 写,否则cubeMX重生成代码的话会覆盖你自己写的那些,很悲剧的。

注意94、104、105,就这三句话,就搞定了一颗LED的闪烁。是不是看起来比用标准库来点亮一个LED容易的一逼。。。

94行HAL_GPIO_WritePin(GPIOB,GPIO_PIN_0,GPIO_PIN_SET);,在while之前初始化一下PB0,先给他一个高电位点亮LED。

104行HAL_GPIO_TogglePin(GPIOB,GPIO_PIN_0);翻转一下PB0的端口状态,由高电平翻转位低电平。

105行HAL_Delay(1000);做个1秒的小延时。

程序运行起来会不停的在104、105两行之间循环,也就是让PB0每隔一秒翻转一下状态,直观的就是LED会亮一秒,灭一秒啦。。。

STM32 HAL库下三行代码点亮一个LED

9、程序写完啦,设置一下IDE,点击魔术棒图标,选择output图标,给 create HEX file打勾,保存。然后按下F7就搞定啦。。。编译好的HEX文件会被保存在XX:\\...用户目录...\\LED\\MDK-ARM\\LED 下面。

STM32 HAL库下三行代码点亮一个LED

我图便宜,买的一个USB转TTL线缆。。 只能选择官方的串口下载器了。。。如下图。。。

STM32 HAL库下三行代码点亮一个LED

最后:上个视频,运行效果。。

视频加载中...

相关阅读

  • STM32 HAL库下三行代码点亮一个LED-word对号

  • 乔山办公网word文档
  • word对号,说起这个HAL库,真的是初学者的福音啊,简单的开发再也不用特意的去关心物理层的好多东东了。况且对于TI,标准库已经失去更新和技术支持了。HAL库才是大势所趋。再说STM
关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网