MSP430f149中断

2019-08-01 16:38发布

本帖最后由 wlfbuaa 于 2013-8-25 17:58 编辑

程序要实现的功能:
同时采集两路信号输入:
A、通过芯片内部AD转换外部测量信号,将转换结果通过UART0发送到PC;
B、通过UART1接收外部信号,将结果通过UART0发送到PC。
现在涉及两个中断:AD和UART1串口中断。AD采样率比串口传输速率快挺多。
经过试验,程序只能进入AD中断,始终不能进入串口中断。单独接受信号两路都能接收。
搜寻网上,可能的问题是:430中断函数运行是当中断在执行的时候不接收其他中断。程序运行时AD中断先到,又由于AD中断的频率高,导致前一次AD中断结束之后,再次请求中断的时候又进入AD中断。不知道该如何解决这个问题,能够合理的执行两个中断,求指导谢谢。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
12条回答
wlfbuaa
2019-08-02 03:11
dirtwillfly 发表于 2013-8-25 20:32
理论上讲,如果AD中断正在执行,串口来了信号会在AD中断执行完毕后执行串口中断 ...

多个中断请求发生时,响应最高优先级中断。响应中断时,MSP430会将不可屏蔽中断控制位SR.GIE复位。因此,一旦响应了中断,即使有优先级更高的可屏蔽中断出现,也不会中断当前正在响应的中断,去响应另外的中断。但SR.GIE复位不影响不可屏蔽中断,所以仍可以接受不可屏蔽中断的中断请求。

这个是网上查询到的信息,我不知道是不是一定正确,不过根据对程序的执行结果来看,貌似中间不能再执行优先级更高的中断。谢谢!

一周热门 更多>