打印
[应用相关]

中断下面语句还会执行吗

[复制链接]
378|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 | 只看该作者
在中断里,总中断是自动关的(但也可以再次打开),所以不会

使用特权

评论回复
5
ousj| | 2020-7-4 17:19 | 只看该作者
优先执行中断的。后面还会执行。

使用特权

评论回复
6
zhuhuis| | 2020-7-4 17:22 | 只看该作者
中断下面语句还会执行

使用特权

评论回复
7
chuxh| | 2020-7-4 17:26 | 只看该作者
都是根据中断设置的。

使用特权

评论回复
8
huwr| | 2020-7-4 17:46 | 只看该作者
可以放在main函数里面。

使用特权

评论回复
9
tian111| | 2020-7-4 17:49 | 只看该作者
中断处理子程序没有问题?

使用特权

评论回复
10
chuxh| | 2020-7-4 17:52 | 只看该作者
DMA中断里面的代码不要太复杂了。

使用特权

评论回复
11
dingy|  楼主 | 2020-7-4 17:55 | 只看该作者
怎么不放在主函数里面呢

使用特权

评论回复
12
xxrs| | 2020-7-4 18:00 | 只看该作者
中断处理和子程序调用都需要压栈以保护现场

使用特权

评论回复
13
zyf部长| | 2020-7-4 18:03 | 只看该作者
你这里有个误区,"打开dma中断数据就开始传输了",不是这样的,dma操作都有触发信号,adc+dma就由adc转换完成触发,spi+dma就由spi的收或者发送触发dma,dma的中断只是告诉你本轮dma传输半满全满或出错.

使用特权

评论回复
14
guoyt| | 2020-7-4 18:30 | 只看该作者
如果你开启dma的循环模式,数据传输不受中断影响.

使用特权

评论回复
15
dingy|  楼主 | 2020-7-4 18:33 | 只看该作者

唉,还是没有什么结果,算了,多谢大家啦

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

745

主题

10920

帖子

6

粉丝