新闻详情

新闻详情

首页 / 资讯中心 / 详情

基于外部中断的流水灯启停控制

发布时间:2026/9/30 6:03:01来源:尧图网络
基于外部中断的流水灯启停控制
文章目录[前言][一、开发硬件与软件环境][二、外部中断工作原理][三、Keil工程配置][四、硬件引脚与接线][五、完整程序代码][六、程序下载与运行现象][七、调试遇到的问题][八、总结]前言前面已经实现了GPIO驱动流水灯流水灯会按照固定间隔循环点亮LED。在实际使用场景中常常需要外部信号介入改变程序运行状态。STM32外部中断EXTI可以检测IO引脚电平跳变不需要CPU循环不断读取引脚电平当电平发生变化时CPU会暂停当前主循环跳转执行中断服务函数适合处理这类异步外部事件。本次在原有流水灯工程基础上增加外部中断实现流水灯的暂停、继续控制。一、开发硬件与软件环境硬件STM32F103C8T6最小系统板LED发光二极管3个杜邦线若干面包板ST‑LINK下载器软件Keil MDK5STM32F10x标准外设库芯片STM32F103C8T6二、外部中断工作原理STM32F103支持IO口外部中断PAPG的0‑15引脚可以映射到EXTI0EXTI15中断线。PA3配置为上拉输入模式引脚默认高电平当引脚接GND时为低电平。将PA3映射到EXTI3中断线配置为上升沿触发当PA3由低电平跳变到高电平瞬间产生外部中断请求。NVIC配置中断优先级使能EXTI3中断通道。触发中断后进入中断服务函数翻转全局标志位run_flag。run_flag 1主循环内计时流水灯正常切换LED。run_flag 0停止计时LED保持当前状态实现暂停。中断处理完成必须清除中断挂起标志位否则会反复进入中断。本实验使用杜邦线模拟开关杜邦线插上PA3连接GND → PA3为低电平流水灯运行拔掉杜邦线PA3变为高电平产生上升沿触发中断切换运行状态。三、Keil工程配置工程在流水灯已有工程副本基础上修改不需要重新新建完整工程。工程分组文件补充在STD_LIB分组添加两个库文件stm32f10x_exti.c外部中断底层驱动misc.cNVIC中断优先级控制C/C配置预定义宏STM32F10X_MD,USE_STDPERIPH_DRIVER头文件包含路径保持标准库原有配置。中断函数冲突处理打开stm32f10x_it.c删除内部自带的空EXTI3_IRQHandler函数避免多重定义编译报错中断服务函数写在main.c内部。魔术棒Debug、Utilities按照ST‑LINK下载器常规配置选择ST‑Link Debugger。四、硬件引脚与接线引脚功能说明PA0LED0输出低电平点亮PA1LED1输出低电平点亮PA2LED2输出低电平点亮PA3外部中断输入引脚杜邦线连接GND模拟开关接线说明PA0、PA1、PA2分别接LEDLED串联限流电阻后接GND。一根杜邦线一端固定接PA3另一端手动接开发板GND拔掉导线瞬间产生上升沿触发中断。注意板子红色按键为RESET硬件复位按键按下直接芯片重启不能用作外部中断触发。五、完整程序代码六、程序下载与运行现象编译工程确认无Error警告使用ST‑LINK下载程序至开发板按下复位。上电后PA0点亮间隔1秒依次切换PA0→PA1→PA2循环流水。杜邦线保持PA3与GND接通流水灯持续运行。拔掉杜邦线断开PA3与GND产生上升沿触发中断流水灯立刻暂停LED保持当前点亮状态。再次插上、拔掉一次杜邦线流水灯恢复运行从暂停位置继续计时不会直接回到PA0从头闪烁。七、调试遇到的问题误按开发板红色RESET按键芯片硬件复位所有全局变量清零流水灯每次回到PA0。解决RESET属于硬件复位不能作为外部触发信号使用PA3引脚杜邦线模拟开关。编译报EXTI3_IRQHandler重复定义。解决stm32f10x_it.c文件内部自带空的中断服务函数删除该函数只保留main.c中的中断函数。八、总结外部中断可以响应引脚电平跳变事件不需要CPU持续轮询IO口节省CPU资源。本实验在原有流水灯代码基础上配置GPIO为上拉输入配置EXTI外部中断与NVIC中断优先级在中断服务函数修改全局状态标志位。主循环读取标志位控制计时是否继续实现流水灯在任意时刻暂停恢复后接续之前状态运行。同时调试过程也体会到中断开发两个关键点中断标志必须手动清除外部信号存在抖动需要做消抖处理。
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

三个关卡给 Flipper Zero 装上第三方插件:SD 卡到自编 FAP,一步到位讲清 2026/9/30 7:00:29

三个关卡给 Flipper Zero 装上第三方插件:SD 卡到自编 FAP,一步到位讲清

三个关卡给 Flipper Zero 装上第三方插件:SD 卡到自编 FAP,一步到位讲清 【免费下载链接】unleashed-firmware Flipper Zero Unleashed Firmware 项目地址: https://gitcode.com/GitHub_Trending/un/unleashed-firmware Flipper Zero Unleashed 固…

阅读更多 →
STM32 通用串口 IAP 升级方案 2026/9/30 7:00:28

STM32 通用串口 IAP 升级方案

方案概述 本方案基于开源项目 SimpleBoot(轻量级Ymodem Bootloader) 二次改造。 原版采用YMODEM协议传输固件,需要专用串口工具;为适配SSCOM、串口助手通用发送文件功能,移除YMODEM协议,实现原始字节流接收…

阅读更多 →
12-Factor Agents 第 11 因子:Trigger From Anywhere,让 Agent 在用户所在的任何渠道被触发与响应 2026/9/30 7:00:28

12-Factor Agents 第 11 因子:Trigger From Anywhere,让 Agent 在用户所在的任何渠道被触发与响应

文档教程人工智能大模型AI Agent 【免费下载链接】12-factor-agents What are the principles we can use to build LLM-powered software that is actually good enough to put in the hands of production customers? 项目地址: https://gitcode.com/GitHub_Tren…

阅读更多 →
双目相机成像调优:曝光/增益/HDR/白平衡/同步与验收 2026/9/30 7:00:09

双目相机成像调优:曝光/增益/HDR/白平衡/同步与验收

双目成像调优完整拆解:曝光与运动模糊、增益噪声、HDR 代价、白平衡、同步与验收指标。 同一台双目相机,同一个工位,为什么有的团队拿到的深度图干净利落,有的却满是空洞和飞点?差别常常不在算法,而在成像链…

阅读更多 →
西安GEO优化公司怎么选:智引未来业务数据与运行效果实测 2026/9/30 7:00:03

西安GEO优化公司怎么选:智引未来业务数据与运行效果实测

为看清口碑好的GEO优化公司实际业务数据和运行效果,本次以西安智引未来为核心样本,并选取吉佑、陕西三纵智能科技、陕西企来客科技、灵怡云GEO、群蜂云计算作横向对照。统一观察维度为GEO优化服务的流量获取、内容布局、客户咨询转化情况;观察…

阅读更多 →
# 维特智能 HWT9073-CAN 姿态传感器助力澳谷钻孔机器人客户实现高精度混凝土钻孔定位 2026/9/30 7:00:03

# 维特智能 HWT9073-CAN 姿态传感器助力澳谷钻孔机器人客户实现高精度混凝土钻孔定位

#维特智能 HWT9073-CAN 姿态传感器助力澳谷钻孔机器人客户实现高精度混凝土钻孔定位 导语 维特智能与深圳澳谷智能科技有限公司(August Robotics)合作,针对其混凝土钻孔机器人(Boris)在高精度钻孔定位中的姿态感知需求…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉