完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
swer:应用为了提升代码执行效率,可能会选择直接操作寄存器方式来实现软件功能,直接操作寄存器方式应用到中断标志清除上,如果清除时机设计不恰当时,就可能出现中断函数被异常多执行一次的现象。以 EXti 中断为例,其中断响应机制如下:1) IO 口上出现期望边沿2) 置位中断状态寄存器的 LINEx 标志3) 置位 NVIC Flag4) 指令跳转到中断函数执行5) 跳转进中断函数时立即清除 NVIC Flag6) 清 LINEx 标志及中断代码执行7) 退出中断而实际清除标志命令的执行到标志被真正清除通常需要约 2 个 cycle 的时间(视外设而定,有些外设可能会存在细微差异)。
|
|
|
|
只有小组成员才能发言,加入小组>>
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-27 18:49 , Processed in 0.532636 second(s), Total 73, Slave 53 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号