本站资源限时全部免费
开启辅助访问
切换到窄版
登录
立即注册
首页
论坛
前线论坛
频道
软件
插件
Plugin
网课
搜索
搜索
每日签到
本版
文章
帖子
用户
QQ前线乐园
»
论坛
›
前线大厅
›
新闻资讯
›
IO时钟输入中断是能触发回调,初始化外部中断配置 ...
返回列表
发新帖
IO时钟输入中断是能触发回调,初始化外部中断配置
[复制链接]
1322
|
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
1860
主题
1861
帖子
6454
积分
论坛元老
论坛元老, 积分 6454, 距离下一级还需 9993545 积分
论坛元老, 积分 6454, 距离下一级还需 9993545 积分
积分
6454
加好友
发消息
回复楼主
返回列表
QQ教程篇
网络分享
绿色软件
虚拟商品
影视资源
VIP项目
网络资源
软件下载
有奖活动
新闻资讯
图文推荐
热门排行
1
如何通过分析短视频带货数据提升内容质量?操作入口在哪?
2
微博与抖音的差异:新闻热点、内容形式、话题标签的比较
3
企业布局短视频赛道,抖音平台运营推广必不可少
4
专业服务,顾客满意,QQ 代刷网热门商品免费拿,安全放心
5
短视频剪辑新手必知的简单剪辑顺序,效果超棒
6
抖音怎么买?购买抖音的原因及注意事项
7
视频没人看、涨粉慢?检查这五条你做到没有
8
抖音创作者中心如何查看有效?操作步骤总结