本站资源限时全部免费
开启辅助访问
切换到窄版
登录
立即注册
首页
论坛
前线论坛
频道
软件
插件
Plugin
网课
搜索
搜索
每日签到
本版
文章
帖子
用户
QQ前线乐园
»
论坛
›
前线大厅
›
新闻资讯
›
IO时钟输入中断是能触发回调,初始化外部中断配置 ...
返回列表
发新帖
IO时钟输入中断是能触发回调,初始化外部中断配置
[复制链接]
1114
|
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
1113
主题
1114
帖子
3921
积分
论坛元老
论坛元老, 积分 3921, 距离下一级还需 9996078 积分
论坛元老, 积分 3921, 距离下一级还需 9996078 积分
积分
3921
加好友
发消息
回复楼主
返回列表
QQ教程篇
网络分享
绿色软件
虚拟商品
影视资源
VIP项目
网络资源
软件下载
有奖活动
新闻资讯
图文推荐
热门排行
1
抖音热门怎么搞的(浅谈快速上热门技巧)
2
抖音粉丝排行榜怎么查?怎么吸引客户?
3
“抖音”、“快手”等视听网站实施诈骗
4
快手的重塑视角:开启全面盈利新篇章
5
拼多多新用户助力网站在线刷-快手一键互粉app
6
抖音快手引流加好友,引流黑科技截流神器源码
7
如何在快手平台上进行推广的策略和方法?
8
原创陈桥辉Tech星球微信生态背后的隐秘灰产