STM32
登录
直播中
杨万富
7年用户
1486经验值
擅长:526774
私信
关注
[问答]
如何利用STM32CubeMX按键实现外部中断控制LED灯亮灭?
开启该帖子的消息推送
如何利用
STM32
CubeMX按键实现外部中断控制LED灯亮灭?
回帖
(1)
庄雪昕
2021-11-17 10:36:11
硬件平台:正点原子STM32MINI开发板(STM32RCT6)
软件平台:STM32CubeMX
KEIL5
实现功能:按键实现外部中断控制LED灯亮灭
硬件连接: KEY_0 ->PC5
PA8 ->LED0
说明:有时候程序下载后不实现,可试着复位一下,也可在魔术棒配置中打开下载后复位。
(仅仅写了外部中断部分,其余初始化未做说明)
1、由图可知,KEY0会是由下降沿触发外部中断
2、将PC5配置成外部中断
3、点击PC5,配置模式为外部中断下降沿触发。内部上拉
4、点击NVIC,使能外部中断
5、在NVIC界面,选择分组方式,以及配置优先级,所有配置完成后,生成代码
6、在stm32f1xx_it.c中有此外部中断的服务函数
7、点击HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_5);转到定义处,可看到其函数定义,__weak void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin);为外部中断的回调函数,是一个虚函数,可由用户重新定义。
8、在main.c文件中可重新定义该回调函数,并写关于外部中断的内容,该段代码作用是如果触发中断的是引脚5,翻转电平。
在用回调函数时,发现外部中断只会有一个回调函数,不同外部中断触发后调用的是同一个函数,这对有时候想要在不同文件中写不同的外部中断文件来说可能不太方便,如果有这方面需求,可按照以下方案配置
1、在NVIC的Code generation中,将外部中断线的Generate IRQ handler取消选中,然后生成代码,记得中断还是要使能,只是不生成中断服务函数代码。
2、自己编写中断服务函数代码,记得清除外部中断标志。
硬件平台:正点原子STM32MINI开发板(STM32RCT6)
软件平台:STM32CubeMX
KEIL5
实现功能:按键实现外部中断控制LED灯亮灭
硬件连接: KEY_0 ->PC5
PA8 ->LED0
说明:有时候程序下载后不实现,可试着复位一下,也可在魔术棒配置中打开下载后复位。
(仅仅写了外部中断部分,其余初始化未做说明)
1、由图可知,KEY0会是由下降沿触发外部中断
2、将PC5配置成外部中断
3、点击PC5,配置模式为外部中断下降沿触发。内部上拉
4、点击NVIC,使能外部中断
5、在NVIC界面,选择分组方式,以及配置优先级,所有配置完成后,生成代码
6、在stm32f1xx_it.c中有此外部中断的服务函数
7、点击HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_5);转到定义处,可看到其函数定义,__weak void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin);为外部中断的回调函数,是一个虚函数,可由用户重新定义。
8、在main.c文件中可重新定义该回调函数,并写关于外部中断的内容,该段代码作用是如果触发中断的是引脚5,翻转电平。
在用回调函数时,发现外部中断只会有一个回调函数,不同外部中断触发后调用的是同一个函数,这对有时候想要在不同文件中写不同的外部中断文件来说可能不太方便,如果有这方面需求,可按照以下方案配置
1、在NVIC的Code generation中,将外部中断线的Generate IRQ handler取消选中,然后生成代码,记得中断还是要使能,只是不生成中断服务函数代码。
2、自己编写中断服务函数代码,记得清除外部中断标志。
举报
更多回帖
rotate(-90deg);
回复
相关问答
如何用
cubeMX
完成
按键
的
外部
中断
控制
灯
的
亮
灭
?
2021-11-17
510
如何
利用
外部
中断
来
实现
按键控制
LED
灯
的
亮
灭
?
2021-11-24
2737
如何
利用
Stm32
控制
小
灯
的
亮
灭
?
2021-11-17
1025
怎样通过GPIO的
外部
中断
功能
实现
按键
输入
控制
LED
闪烁呢
2021-11-17
976
如何使用Clion和
CubeMx
去
控制
led
灯
的
亮
灭
呢
2021-11-16
1039
如何
利用
STM32CubeMX
外部
中断
实现
按键
按一次变化一次?
2021-11-17
1095
如何去
实现
一种基于
STM32
G0的
按键控制
LED
亮
灭
设计
2021-10-08
2043
如何
利用
STM32CubeMX
实现
按键
点个
灯
?
2021-11-26
845
如何
利用
信号量
控制
LED
的
亮
灭
2021-02-23
3076
如何用独立
按键
作为
外部
中断
的触发信号来
实现
LED
的
亮
灭
?
2021-10-11
1980
发帖
登录/注册
20万+
工程师都在用,
免费
PCB检查工具
无需安装、支持浏览器和手机在线查看、实时共享
查看
点击登录
登录更多精彩功能!
首页
论坛版块
小组
免费开发板试用
ebook
直播
搜索
登录
×
20
完善资料,
赚取积分