本站资源限时全部免费
开启辅助访问
切换到窄版
登录
立即注册
首页
论坛
前线论坛
频道
软件
插件
Plugin
网课
搜索
搜索
每日签到
本版
文章
帖子
用户
QQ前线乐园
»
论坛
›
前线大厅
›
新闻资讯
›
IO时钟输入中断是能触发回调,初始化外部中断配置 ...
返回列表
发新帖
IO时钟输入中断是能触发回调,初始化外部中断配置
[复制链接]
1153
|
0
|
2023-1-5 00:56:30
|
显示全部楼层
|
阅读模式
目录:
应用场景
E:
相对紧急或需要优先处理的输入信号。在单相交流电机调功中需要用到过零检测,此时使用外部中断那是相当完美。 STM32中的外部中断 GPIO与中断线的映射
STM32F4中的每个IO都可以作为外部中断的中断输入口,其中供IO口使用的的中断线一共有16个,EXTI0~15对应GPIOx 0-15,每个中断线对应的是每组GPIO中的其中一位,E:GPIOA0、GPIOB0、······GPIOI0。中断线每次只能连接到1个IO口上,具体中断线连接到哪个IO口由配置决定。
外部中断的一般配置步骤 使能IO口时钟;调用函数HAL_GPIO_Init设置IO口模式、触发条件、使能SYSCFG时钟以及设置IO口与中断线的映射关系;配置中断优先级,并使能中断;在中断服务函数中调用外部中断共用入口函数HAL_GPIO_EXTI_IRQHandler;编写外部中断回调函数HAL_GPIO_EXTI_Callback. 外部中断配置 是能IO口时钟,初始化IO口为输入设置IO口模式,触发条件、设置IO口与中短线的映射关系。
<p><pre> <code>GPIO_Initure.Pin=GPIO_PIN_0; //PX0
GPIO_Initure.Mode=GPIO_MODE_IT_RISING; //外部中断,上升沿触发
GPIO_Initure.Pull=GPIO_PULLDOWN; //默认下拉
HAL_GPIO_Init(GPIOx,&GPIO_Initure);
</code></pre></p>
这里配置GPIOx0与中断线0连接,如果我们在这个配置之后再次配置另一个GPIOx0,那么之前配置的将被清除,因为只能有一个GPIO可以映射到中断线0上。
配置中断优先级
<p><pre> <code>HAL_NVIC_SetPriority(EXTI0_IRQn,2,1); //抢占优先级为 2,子优先级为 1
HAL_NVIC_EnableIRQ(EXTI0_IRQn); //使能中断线 2
</code></pre></p>
编写中断服务函数
<p><pre> <code>void EXTI0_IRQHandler();
void EXTI1_IRQHandler();
void EXTI2_IRQHandler();
void EXTI3_IRQHandler();
void EXTI4_IRQHandler();
void EXTI9_5_IRQHandler();
void EXTI15_10_IRQHandler();
</code></pre></p>
根据函数名字可以看到,中断线0-4每个中断线对应一个中断函数,中断线9-5共用一个中断函数。
编写中断处理回调函数HAL_GPIO_EXTI_Callback
HAL库中提供了共用的处理函数void HAL_GPIO_EXTI_IRQHandler(uint16_t GPIO_Pin)
在中断服务函数中调用此函数既可
<p><pre> <code>void HAL_GPIO_EXTI_IRQHandler(uint16_t GPIO_Pin)
{
/* EXTI line interrupt detected */
if(__HAL_GPIO_EXTI_GET_IT(GPIO_Pin) != RESET)
{
__HAL_GPIO_EXTI_CLEAR_IT(GPIO_Pin);
HAL_GPIO_EXTI_Callback(GPIO_Pin);
}
}
</code></pre></p>
函数的作用很简单:
1、清楚中断标志位;
2、调用回调函数==HAL_GPIO_EXTI_Callback()==实现控制逻辑。
这种方法类似串口中断处理方式,在回调函数中判断是哪个IO触发的中断,然后编写对应的控制逻辑。
至此外部中断已全部完成。
只能作为输入设备的是
回复
使用道具
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
enrl305
1269
主题
1270
帖子
4431
积分
论坛元老
论坛元老, 积分 4431, 距离下一级还需 9995568 积分
论坛元老, 积分 4431, 距离下一级还需 9995568 积分
积分
4431
加好友
发消息
回复楼主
返回列表
QQ教程篇
网络分享
绿色软件
虚拟商品
影视资源
VIP项目
网络资源
软件下载
有奖活动
新闻资讯
图文推荐
热门排行
1
电商 3.0 时代:以粉丝为核心,打造忠诚社群体系的核心使命
2
云商城 24 小时自助下单平台:方便快捷的在线购物体验
3
安卓模拟器抓包工具 Fiddler 配置教程及注意事项
4
抖音涨粉太难?揭秘个人用户如何突破困境快速涨粉
5
抖音粉丝增长策略与技巧:制作高质量内容吸引更多关注
6
抖音运营技巧:解析粉丝增长趋势与原因,加速账号发展
7
抖音变化悄然发生,生活类视频增多,热门技巧分享
8
小红书运营技巧分享:如何养号并完善个人账号以实现引流变现