[应用相关] 该中断下面语句还会执行吗

[复制链接]
772|14
 楼主| androidbus 发表于 2018-10-15 20:21 | 显示全部楼层 |阅读模式
在中断处理子程序里,程序还没处理完又使能该中断,请问该中断下面语句还会执行吗。
DMA中断()
{
    清中断标志;
  打开DMA中断;
  使能DMA中断;//DMA开始传输
   ...;                   //其他处理程序
     ...;
}
litengg 发表于 2018-10-15 20:23 | 显示全部楼层
这个问题要结合中断优先级和中断嵌套来看
qiangweii 发表于 2018-10-15 20:28 | 显示全部楼层
一般同样的中断要先执行完才能响应第二次中断
sourceInsight 发表于 2018-10-15 20:31 | 显示全部楼层
在中断里,总中断是自动关的(但也可以再次打开),所以不会
boy1990 发表于 2018-10-15 20:33 | 显示全部楼层
优先执行中断的。后面还会执行。
CallReceiver 发表于 2018-10-15 20:35 | 显示全部楼层

中断下面语句还会执行
hfdy01 发表于 2018-10-15 20:37 | 显示全部楼层

都是根据中断设置的。
xia00 发表于 2018-10-15 20:38 | 显示全部楼层
可以放在main函数里面。
handleMessage 发表于 2018-10-15 20:39 | 显示全部楼层
中断处理子程序没有问题?
handleMessage 发表于 2018-10-15 20:40 | 显示全部楼层

DMA中断里面的代码不要太复杂了。
zhouhuanの 发表于 2018-10-15 20:41 | 显示全部楼层
怎么不放在主函数里面呢
Listate 发表于 2018-10-15 20:42 | 显示全部楼层
中断处理和子程序调用都需要压栈以保护现场
天灵灵地灵灵 发表于 2018-10-15 22:55 | 显示全部楼层
可以的,这里面的会执行完。
huzi2099 发表于 2018-10-16 16:49 | 显示全部楼层
你这里有个误区,"打开dma中断数据就开始传输了",不是这样的,dma操作都有触发信号,adc+dma就由adc转换完成触发,spi+dma就由spi的收或者发送触发dma,dma的中断只是告诉你本轮dma传输半满全满或出错.
huzi2099 发表于 2018-10-16 16:52 | 显示全部楼层
如果你开启dma的循环模式,数据传输不受中断影响.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

181

主题

1597

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部