单片机学习小组
直播中

生龙活虎3

8年用户 745经验值
擅长:光电显示
私信 关注

如何利用STM32的GPIO去点亮一个LED灯呢

如何利用STM32的GPIO去点亮一个LED灯呢?有哪些操作步骤呢?

回帖(1)

赵雪培

2022-1-17 14:21:42
     今天讲解STM32的GPIO的使用,点亮一个LED灯。
      打开STM32Cube软件新建一个工程File-New Project
      第一步,先搜索一下自己开发板或者项目使用的单片机型号和封装,第二步,点击下自己所使用的型号,自动跳转到芯片配置界面。
  
      选择成功后,芯片配置界面如下,如果没有安装所使用的芯片库的支持包,可以先安装一下,上一篇文章介绍了如何安装软件里面有芯片支持包下载,这里就不讲了。
  
  打开硬件原理图,找到LED灯连接的IO口。
  
  
  将单片机GPIO,PB5和PE5引脚配置为输出,找到单片机所对应的引脚直接左键点击,就会弹出来配置对话框,选择GPIO_Output。
  
  
芯片配置界面,鼠标 滚轮可以操作界面的放大和缩小,按住滚轮键拖动实现界面的移动。
  然后找到GPIO选项,点击设置PB5引脚参数,第三步,给PB5引脚起一个标签名LED0。
  
      默认输出电平为高High,设置低Low的话,一上电,单片机的LED0就亮了。这里不需要设置上下拉电阻,就没有设置,引脚输出频率没有那么高要求,设置为低Low就可以了。
  
  PE5引脚的配置如上相同。
  
      设置下单片机时钟,高速时钟我选择的是外部时钟,低速时钟默认,如果没有要求,默认就好。
  
      将时钟树的输入晶振频率设置单片机外部的实际晶振大小,我这里用的是8.0M晶振,其他地方有需要可以自行设置。
  
  设置工程文件名、保存路径、编译器IDE版本。
  
  设置代码生成器配置。
  
  
  打开生成好的用户代码,初始化都已经自动生成好了,方框内部是填写自己的代码。添加用户代码必须写在/* USER CODE BEGIN n*/和/* USER CODE END n*/之间,如果改变Cube工程配置,重新生成代码,用户添加的代码就不会受到影响。
  
  下面我们写一个LED闪烁的代码,实现PB5和PE5引脚轮流点亮周期0.6s我们写代码一定要/* USER CODE BEGIN n*/和/* USER CODE END n*/写,不然重新修改Cube配置后就自动给覆盖没了。
  
  其中,HAL_Delay()函数是HAL库的延时函数,单位是1毫秒。
  我们在使用CubeMX开发STM32的时候,片上外设的初始化有CubeMX生成,即while(1)之前的这些代码,我们不需要关心,也不要随便删除,除非在调试中需要进行小的改动。
  到这里我们的教程就结束了,下次给大家介绍引脚如何用翻转,LED灯闪烁就不用写这么多代码了,一行就够了。
      
举报

更多回帖

发帖
×
20
完善资料,
赚取积分