STM32
登录
直播中
张娟
7年用户
1990经验值
私信
关注
[问答]
如何利用STM32实现LED灯状态翻转?
开启该帖子的消息推送
STM32
如何利用
STM32
实现LED灯状态翻转?
回帖
(1)
李思路
2021-11-16 14:14:19
实现目标:
按键按下一次 LED灯状态翻转一次
1.在stm32cube中配置引脚信息、开启中断以及中断优先级,生成代码;
2.在keil中 main函数无需添加 中断的配置在MX_GPIO_Init()中自动实现;
3.在keil中 的gpio.c(为系统建立的)文件中,添加void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)函数的实现 即进入中断后的中断处理函数;
注意:
1.关于GPIO的外部中断有两个函数
1)void HAL_GPIO_EXTI_IRQHandler(uint16_t GPIO_Pin)
2)void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
我们操作的为第二个函数,而实质上在第一个函数会调用第二个函数,而外部中断触发后会自动进入第一个函数
继而调用第二个函数。多个外部中断调用时,我们需要做的是判断哪个中断源,所以需要判断触发引脚。这是由于PA0-PB0-PE0D都是EXT0线 所以只要判断引脚而不需要判断哪个组。
2.按键触发外部中断 由于抖动的原因需要加入延时(尽管这样的方式也会存在问题)。
3.hal的库在进入外部中断后需要将中断标志位清零,下次才能进入。
实现目标:
按键按下一次 LED灯状态翻转一次
1.在stm32cube中配置引脚信息、开启中断以及中断优先级,生成代码;
2.在keil中 main函数无需添加 中断的配置在MX_GPIO_Init()中自动实现;
3.在keil中 的gpio.c(为系统建立的)文件中,添加void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)函数的实现 即进入中断后的中断处理函数;
注意:
1.关于GPIO的外部中断有两个函数
1)void HAL_GPIO_EXTI_IRQHandler(uint16_t GPIO_Pin)
2)void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
我们操作的为第二个函数,而实质上在第一个函数会调用第二个函数,而外部中断触发后会自动进入第一个函数
继而调用第二个函数。多个外部中断调用时,我们需要做的是判断哪个中断源,所以需要判断触发引脚。这是由于PA0-PB0-PE0D都是EXT0线 所以只要判断引脚而不需要判断哪个组。
2.按键触发外部中断 由于抖动的原因需要加入延时(尽管这样的方式也会存在问题)。
3.hal的库在进入外部中断后需要将中断标志位清零,下次才能进入。
举报
更多回帖
rotate(-90deg);
回复
相关问答
STM32
如何
实现
按下按键会
翻转
板载
LED
灯
状态
?
2022-02-08
1834
如何
利用
STM32
实现
按键控制
LED
灯
?
2021-11-25
1837
如何
利用
STM32
CubeMX点亮第一个
LED
灯
?
2022-02-08
1408
如何
利用
STM32
CubeMX按键
实现
外部中断控制
LED
灯
亮灭?
2021-11-17
1449
如何
利用
STM32
CubeMX点亮
LED
灯
?
2022-02-08
930
如何
实现
DMA串口的数据收发,发送数据时
LED
灯
电平
翻转
?
2021-12-09
1686
怎么
实现
STM32
按键按下后
实现
LED
的
翻转
?
2021-11-17
1596
请问
STM32
F407VET6怎么
实现
按键控制
LED
灯
状态
?
2021-11-18
1111
如何
利用
STM32
让你的
LED
灯
闪烁起来?
2022-02-22
1288
如何
利用
STM32
F407ZE去
实现
LED
呼吸
灯
的效果呢
2021-12-15
1920
发帖
登录/注册
20万+
工程师都在用,
免费
PCB检查工具
无需安装、支持浏览器和手机在线查看、实时共享
查看
点击登录
登录更多精彩功能!
首页
论坛版块
小组
免费开发板试用
ebook
直播
搜索
登录
×
20
完善资料,
赚取积分