当前位置: 首页 > article >正文

使用STM32CubeMX实现LED灯每秒闪烁一次(STM32G070CBT6单片机)

1.打开STM32CubeMX,点击File->New Project,新建一个新工程。

2.搜索芯片型号,选择正确的芯片封装规格,准备对芯片的引脚进行配置。

进行上面的操作后,跳转到如下的页面。

3.选择要配置的引脚进行配置。此处我的LED是连接在PB5脚上,所以我将对PB脚进行操作,要实现LED灯闪烁功能,将PB5脚设置为输出模式。

4.点击Clock Configuration,这里是用来配置时钟的,这里目前不需要进行配置。

5.保存工程文件,如下图所示进行操作。

6.按如上配置完成后,点击GENERTE CODE就可以生成文件了,如下所示。

7.文件生成后,点击close关闭。

8.找到刚刚保存的工程文件,打开keil工程。

9.在这个工程我们可以看到,里面对我们要使用到的PB5的GPIO口已经配置好了,我们只需要在while中添加要实现的功能代码即可。

有两种方式可以实现LED每秒闪烁一次。

方法一:

while (1)
  {
      HAL_GPIO_TogglePin(GPIOB, GPIO_PIN_5);  //IO口翻转函数
      HAL_Delay(500); //每500ms翻转一次相当于LED每秒闪烁一次
  }

方法二:

while (1)
  {
      HAL_GPIO_WritePin(GPIOB, GPIO_PIN_5, GPIO_PIN_RESET); //电平置低
      HAL_Delay(500);   //延时500ms
      HAL_GPIO_WritePin(GPIOB, GPIO_PIN_5, GPIO_PIN_SET);   //电平置高
      HAL_Delay(500);   //延时500ms
  }

10.问题总结

问题描述:当程序编写好后,对程序进行编译,下载到板子上发现没有LED灯没有任何反应,需要重新上电才能观察到LED闪烁现象。

原因:下载的配置需要修改一下。

解决办法:如下图所示。

进入setting,先对Flash Download进行配置。

再对Pack进行配置。

进行如上配置后,便可成功解决问题。

每次烧录完成后便可直接观察到现象。


http://www.kler.cn/a/579138.html

相关文章:

  • 雷池WAF的为什么选择基于Docker
  • 密码学(终极版)
  • neo4j-解决neo4j网页版打不开
  • 011---UART协议的基本知识(一)
  • 车载网络测试-DBC文件解读【创建修改DBC】
  • 深入理解JavaScript中的深拷贝与浅拷贝
  • 人工智能里的深度学习指的是什么?
  • Android Framework 常见面试题
  • Python 文件和异常(写入文件)
  • clickhouse修改和删除数据
  • 特征表示深度解析:颜色、纹理、形状与编码
  • linux学习(五)(服务器审查,正常运行时间负载,身份验证日志,正在运行的服务,评估可用内存)
  • 观看文艺汇演问题
  • Scala 中的String常量池
  • 网络原理--JVM简介
  • 微服务与无服务器:我的理解与实践
  • C#实现软件重启的功能
  • Mysql表的复合查询
  • Java初级入门学习
  • 若依vue前端queryParams搜索下拉框无法重置或者重置值有问题