news 2026/7/8 2:34:28

STM32CubeIDE绚丽小灯

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
STM32CubeIDE绚丽小灯

2245272269@qq.com先点击STM32CubeIDE左上角的File,新建一个工程


然后搜索你使用的芯片,可以添加收藏,点击那个五角星,然后

点灯的原理图如图,进入芯片页面后,给PA7变成GPIO口


相比于单色灯,这次把把GPIO改为低电平


保存,然后自动生成代码,电机下载按钮


不要忘记勾选自动编译


然后观察main.c函数


这些注释,其实是CubeMX为了重新生成代码时保留我们自己写的代码,二设置的一种机制
只要将代码写在注释对里面,重新生成代码还会保留,如果写在外边,代码就会没有

通过一行代码将PA7设置为高电平

有个小技巧,按下alt加\有代码提示,如果没有提示,把大写关掉试试

HAL_GPIO_WritePin(GPIOA,GPIO_PIN_7,GPIO_PIN_SET);

第一个参数是设置GPIO分组,第二个参数是设置GPIO的编号,第三个参数是设置GPIO的状态

如果要尝试要让小灯闪烁

将这个设置PA7为高电平的代码移动到while中

while(1){HAL_GPIO_WritePin(GPIOA,GPIO_PIN_7,GPIO_PIN_SET);//设置为高电平的代码HAL_GPIO_WritePin(GPIOA,GPIO_PIN_7,GPIO_PIN_RESET);//设置为低电平的代码,让小灯闪烁}

注意务必要一个BEGIN-END对之间


但是这个代码有一个问题,代码不停的高低电平之间切换,很快很快,肉眼凡胎无法分辨,需要在操作中加入延迟

HAL_Delay(1000),

如果有多个灯的色彩

原理图如图


然后把这几个对应的口也设置成

为了写程序方便,可以设置标签,在引脚上右键选择Enter User Label

比如

如果我们希望达到

先红灯亮,然后红绿灯亮,然后红绿蓝亮,然后绿蓝亮。。。这样的


通过设置一个state状态来循环

当state<=2||state==5时,红色灯一直亮,这样的逻辑,然后每一轮state+1

while(1){if(state<=2||state==5){HAL_GPIO_WritePin(LED_RED_GPIO_Port,LED_RED_Pin,GPIO_PIN_SET);}else{HAL_GPIO_WritePin(LED_RED_GPIO_Port,LED_RED_Pin,GPIO_PIN_RESET);}if(state>=1&&state<=3){HAL_GPIO_WritePin(LED_GREEN_GPIO_Port,LED_GREEN_Pin,GPIO_PIN_SET);}else{HAL_GPIO_WritePin(LED_GREEN_GPIO_Port,LED_GREEN_Pin,GPIO_PIN_RESET);}if(state>=2){HAL_GPIO_WritePin(LED_BLUE_GPIO_Port,LED_BLUE_Pin,GPIO_PIN_SET);}else{HAL_GPIO_WritePin(LED_BLUE_GPIO_Port,LED_BLUE_Pin,GPIO_PIN_RESET);}HAL_Delay(300);state++;if(state>5){state=0;}}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/8 2:33:56

SpringReport开源项目深度解析:集报表设计、大屏可视化与在线Excel于一体的企业级数据报表解决方案实战指南

SpringReport开源项目深度解析&#xff1a;集报表设计、大屏可视化与在线Excel于一体的企业级数据报表解决方案实战指南 在企业级应用开发中&#xff0c;数据展示与报表生成往往是耗时耗力的环节。传统的开发模式需要后端编写复杂的SQL&#xff0c;前端调整繁琐的样式&#xff…

作者头像 李华
网站建设 2026/7/8 2:32:58

模型量化 INT8 实战:PyTorch 静态量化 3 步实现 ResNet-18 推理加速 2.5 倍

PyTorch INT8 静态量化实战&#xff1a;3步实现ResNet-18推理速度提升2.5倍当我们在移动设备或边缘计算场景部署深度学习模型时&#xff0c;模型的计算效率和内存占用往往成为瓶颈。上周在部署一个图像分类服务时&#xff0c;原始FP32模型在树莓派上的推理延迟高达380ms&#x…

作者头像 李华
网站建设 2026/7/8 2:28:42

变频器与伺服系统的噪声战争:07 伺服编码器为什么最怕变频器?

第七篇:伺服编码器为什么最怕变频器? 深夜车间里,当变频器密集运行时,伺服电机有时会突然出现轻微的抽动。操作台上,位置反馈值开始漂移,编码器报警灯闪烁,PLC很快报出“位置偏差过大”或“同步丢失”。 很多工程师第一反应是“编码器坏了”,赶紧换一个新的。可换完之…

作者头像 李华
网站建设 2026/7/8 2:22:21

内网安全:MS17-010漏洞原理

本次实验属于内网SMB漏洞利用实操内容。设备&#xff1a;VMware 虚拟机、Windows Server 2008&#xff08;靶机&#xff09;、Kali LinuxIP 规划&#xff1a;靶机&#xff1a;Windows Server 2008 x64 虚拟机&#xff0c;IP 地址&#xff1a;192.168.XXX.XXX&#xff0c;未安装…

作者头像 李华
网站建设 2026/7/8 2:13:08

【UE源码精读-ActionRPG】伤害管线:从捕获到扣血

[TOC] 上一篇属性系统精读以一句"至于 Damage → Health 的完整换算&#xff0c;是下一篇的主角"收尾。现在轮到这条链路登场&#xff1a;从一次攻击能力激活&#xff0c;到属性系统最终把血量扣掉&#xff0c;中间经过了哪些层、每层的职责是什么。ActionRPG 把这条…

作者头像 李华