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

[复制链接]
688|14
 楼主| dingy 发表于 2020-7-4 17:03 | 显示全部楼层 |阅读模式
在中断处理子程序里,程序还没处理完又使能该中断,请问该中断下面语句还会执行吗。
DMA中断()
{
    清中断标志;
  打开DMA中断;
  使能DMA中断;//DMA开始传输
   ...;                   //其他处理程序
     ...;
}
zyf部长 发表于 2020-7-4 17:06 | 显示全部楼层
这个问题要结合中断优先级和中断嵌套来看
lium 发表于 2020-7-4 17:13 | 显示全部楼层
一般同样的中断要先执行完才能响应第二次中断
wangpe 发表于 2020-7-4 17:15 | 显示全部楼层
在中断里,总中断是自动关的(但也可以再次打开),所以不会
ousj 发表于 2020-7-4 17:19 | 显示全部楼层
优先执行中断的。后面还会执行。
zhuhuis 发表于 2020-7-4 17:22 | 显示全部楼层
中断下面语句还会执行
chuxh 发表于 2020-7-4 17:26 | 显示全部楼层
都是根据中断设置的。
huwr 发表于 2020-7-4 17:46 | 显示全部楼层
可以放在main函数里面。
tian111 发表于 2020-7-4 17:49 | 显示全部楼层
中断处理子程序没有问题?
chuxh 发表于 2020-7-4 17:52 | 显示全部楼层
DMA中断里面的代码不要太复杂了。
 楼主| dingy 发表于 2020-7-4 17:55 | 显示全部楼层
怎么不放在主函数里面呢
xxrs 发表于 2020-7-4 18:00 | 显示全部楼层
中断处理和子程序调用都需要压栈以保护现场
zyf部长 发表于 2020-7-4 18:03 | 显示全部楼层
你这里有个误区,"打开dma中断数据就开始传输了",不是这样的,dma操作都有触发信号,adc+dma就由adc转换完成触发,spi+dma就由spi的收或者发送触发dma,dma的中断只是告诉你本轮dma传输半满全满或出错.
guoyt 发表于 2020-7-4 18:30 | 显示全部楼层
如果你开启dma的循环模式,数据传输不受中断影响.
 楼主| dingy 发表于 2020-7-4 18:33 | 显示全部楼层

唉,还是没有什么结果,算了,多谢大家啦
您需要登录后才可以回帖 登录 | 注册

本版积分规则

745

主题

10920

帖子

6

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