5秒后页面跳转
FAQ0133 PDF预览

FAQ0133

更新时间: 2023-12-20 18:46:05
品牌 Logo 应用领域
雅特力 - ARTERY /
页数 文件大小 规格书
4页 290K
描述
介绍一种保障回调任务可被精确响应的方法

FAQ0133 数据手册

 浏览型号FAQ0133的Datasheet PDF文件第2页浏览型号FAQ0133的Datasheet PDF文件第3页浏览型号FAQ0133的Datasheet PDF文件第4页 
外设事件中断响应流程及注意事项  
FAQ0133  
常见问题解答  
外设事件中断响应流程及注意事项  
Questions为实现任务的快速响应,应用通常会设计外设中断,在中断函数内响应事件标志对  
应的回调任务。但大多外设均具备多个可引起中断的事件标志,如何实现回调任务的精确响应将  
变得尤其重要,本文档旨在介绍一种保障回调任务可被精确响应的方法。  
Answer:  
以下将以 USART2 为例进行阐述。  
中断响应过程及注意事项  
1件标志置位  
当事件标志产生条件成立后,硬件会置位对应的事件标志。  
示例:当 USART2 接收数据缓冲器满时,会立即置位对应的 RDBF 标志。  
注意:事件标志的置位发生在其对应的事件产生条件成立时,不受对应的中断使能状态影响。  
2断服务响应  
当事件标志,且对应的外设中断处于使能状态时,硬件会过外设中断通道向内核申请中断服务。  
示例:当 USART2 RDBF 标志置位,且 RDBFIEN 处于开启状态时,硬件会自动通过 USART2 中  
断通道向内核申请中断服务,同步置位 USART2 NVIC pending 位来指示有中断申请出现,以指示  
代码需要跳转到中断服务函数执行。  
注意:外设中断处于失能状态时,对应的事件标志置位并不会申请中断服务。  
3断函数执行  
在符合中断响应优先级规则条件时,代码就会自动跳转执行中断函数内的回调任务。  
由于同一个中断通道具备多个引起中断的事件标志,对应共用同一个 NVIC pending 位,且该 pending  
位在代码跳转到中断函数后会被硬件自动清零。  
注意:该 NVIC pending 位会跟随该中断通道内的任意被使能中断的事件标志置位而置位,其只记录有  
无,不会累加。并在响应中断函数时被硬件自动清除。  
为避免事件标志的回调任务被漏执行或误执行,软件必须要在中断函数内做好事件标志的区分处理。  
如下建议方法:  
回调任务漏执行的避免方法  
当同时使用同一外设的多个事件中断时,中断到底是由什么事件标志产生的须由软件按照如下区分:  
在中断函数内,查询每一个事件标志的状态来决定是否响应对应的回调任务。  
示例 1:当同时使用 USART2 RDBF 中断和 TDBE 中断时,中断函数需如下设计  
2022.3.30  
1 页  
版本 2.0.0  

与FAQ0133相关器件

型号 品牌 获取价格 描述 数据表
FAQ0134 ARTERY

获取价格

开关PLL有极小概率造成USB 48MHz时钟异常丢失
FAQ0135 ARTERY

获取价格

在时钟配置错误或晶振大小选择错误的情况下,下载代码到开发板导致无法继续进行debug或再次
FAQ0136 ARTERY

获取价格

如何使用AT-LINK 的WinUSB 功能提升下载速率?
FAQ0137 ARTERY

获取价格

为了提高加密性能,需对开启访问保护(FAP)操作流程进行优化。
FAQ0138 ARTERY

获取价格

AT32F407/437 在使用EMAC 网口进行以太网数据收发时,如果出现数据丢包,应该
FAQ0139 ARTERY

获取价格

AT32F407/437 在使用EMAC 网口在初始化时,调用emac_dma_softw
FAQ0140 ARTERY

获取价格

类似方案商和终端用户分别设计的各自工程文件代码,如何使用AT-Link 离线功能将代码合并
FAQ0141 ARTERY

获取价格

当使用GPIO 模拟I2C 时应如何进行电路设计?
FAQ0142 ARTERY

获取价格

IAR 9.3以上版本调试注意事项
FAQ0143 ARTERY

获取价格

解决在程序还没有运行时使芯片HALT住的问题