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

STM32CubeIDE新建项目过程记录备忘(二) GPIO输出demo:LED闪烁

利用前面创建好的基础模板项目文件,创建第一个应用项目,单片机的hello world:LED闪烁。

  • 打开模板文件

文件--从文件系统中打开项目:

在弹出的窗口中选择之前创建的模板项目文件并打开。

  • 复制粘贴新项目 

  • 在项目管理器,复制之前创建好的模板项目,粘贴为新项目,并重命名新项目。

  • 在项目管理器中对模板文件点右键,点“删除”,把它从项目管理器中删除。

记着别选择删除磁盘上的项目内容, 这样会将其删除。

  • 根据新项目名称,更改文件ioc文件的文件名:

  •  设置GPIO

        我手里的这块野火开发板,它的PA1、PA2、PA3分别接了一个LED,本项目就是使其依次点亮闪烁。

从原理图看出,由于各个LED使用了“上拉”的驱动方式,所以,GPIO输出低电平的时候LED点亮。

下面是设置GPIO的过程。

  • 双击项目中的ioc文件,打开配置界面:

 分别点击PA1、PA2、PA3,将其设置为GPIO_Output

在PA1上右键鼠标,点击Enter User Label,在弹出窗口输入PA1的用户标签(别名):LED_R

 

同样的方法,将PA2和PA3命名为LED_G和LED_B:

打开配置界面的左边:

        我希望刚启动完成初始化后的系统,各个LED处于熄灭状态,所以要将三个GPIO的初始电平设置为高电平输出。       

        使用windows选择文件通用的ctrl和shift键实现点选和片选,将需要设置的三个GPIO管脚全部选定,将GPIO output level批量设置为high,这样他们的初始电平就是高电平。GPIO管脚的其余设置保持默认就好了。默认值为:推挽、低速、无上拉和下拉。

我希望刚启动完成初始化后的系统,各个LED处于熄灭状态,所以要将三个GPIO的初始电平设置为高电平输出。 

  • 设置输出hex文件

默认不生成hex文件,需要在项目属性里设置:右键项目属性

  • 设置调试参数 

 分别点击黄色齿轮和甲壳虫生成代码和调试:


下面进入软件编程阶段。

  • 打开main.c

在main.c的主循环中加入代码:

HAL_GPIO_TogglePin(GPIOA, LED_R_Pin);      /* LED翻转 */
HAL_GPIO_TogglePin(GPIOA, LED_G_Pin);      /* LED翻转 */
HAL_GPIO_TogglePin(GPIOA, LED_B_Pin);      /* LED翻转 */
HAL_Delay(500);   /*延时*/

 保存,黄色齿轮,甲虫。

三个LED开始闪烁。

http://www.xdnf.cn/news/16572.html

相关文章:

  • 【读论文】Step-Audio 2 深度解读:迈向工业级语音交互的「全能型选手」
  • 【AlphaFold3】网络架构篇(7)| 详解Diffusion training set-up
  • Apache Ignite 2.8 引入的新指标系统(New Metrics System)的完整说明
  • 轻松打造Unity小游戏AR体验
  • Map 集合
  • 适配鸿蒙低性能设备的终极优化方案:从启动到渲染全链路实战
  • IBus vs. Fcitx5:一场 Linux 输入法框架的正面交锋
  • Redis:缓存雪崩、穿透、击穿的技术解析和实战方案
  • HTTPS基本工作过程:基本加密过程
  • 河南萌新联赛2025第(三)场:河南理工大学【补题】
  • 2025最新版Node.js下载安装及环境配置教程【超详图文】
  • BGP高级特性之正则表达式
  • DFT不同维度中gate、cell、instance介绍
  • 智能体产品化的关键突破:企业智能化转型的“最后一公里”如何迈过?
  • Spring Cloud Gateway Server Web MVC报错“Unsupported transfer encoding: chunked”解决
  • Jupyter Notebook安装使用
  • WebRTC核心组件技术解析:架构、作用与协同机制
  • Java容器化实践:Docker+K8s部署Spring Boot应用全流程
  • LLM—— 基于 MCP 协议(Streamable HTTP 模式)的工具调用实践
  • 《设计模式之禅》笔记摘录 - 11.策略模式
  • 二叉树的学习
  • 【Java】批量生成Excel放入文件夹并打zip压缩包
  • 八种AI记忆术,重构智能体的“大脑”
  • RFID 系统行业前沿洞察:技术跃迁与生态重构
  • 线性代数常见的解题方法
  • aws(学习笔记第五十课) ECS集中练习(2)
  • 【MySQL 数据库】MySQL索引特性(二)页目录(B和B+树)(非)聚簇索引 索引操作
  • APM32芯得 EP.27 | 告别IDE,为APM32F411打造轻量级命令行开发工作流
  • 《Computational principles and challenges in single-cell data integration》
  • Vite 模块动态导入之Glob导入