打印

MSP430f149中断

[复制链接]
2017|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wlfbuaa|  楼主 | 2013-8-25 17:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 wlfbuaa 于 2013-8-25 17:58 编辑

程序要实现的功能:
同时采集两路信号输入:
A、通过芯片内部AD转换外部测量信号,将转换结果通过UART0发送到PC;
B、通过UART1接收外部信号,将结果通过UART0发送到PC。
现在涉及两个中断:AD和UART1串口中断。AD采样率比串口传输速率快挺多。
经过试验,程序只能进入AD中断,始终不能进入串口中断。单独接受信号两路都能接收。
搜寻网上,可能的问题是:430中断函数运行是当中断在执行的时候不接收其他中断。程序运行时AD中断先到,又由于AD中断的频率高,导致前一次AD中断结束之后,再次请求中断的时候又进入AD中断。不知道该如何解决这个问题,能够合理的执行两个中断,求指导谢谢。

相关帖子

沙发
dirtwillfly| | 2013-8-25 20:32 | 只看该作者
理论上讲,如果AD中断正在执行,串口来了信号会在AD中断执行完毕后执行串口中断

使用特权

评论回复
板凳
1988020566| | 2013-8-25 23:20 | 只看该作者
串口中断的优先级调高。

使用特权

评论回复
地板
1988020566| | 2013-8-25 23:20 | 只看该作者
或者usb传输这个快。

使用特权

评论回复
5
wlfbuaa|  楼主 | 2013-8-26 08:36 | 只看该作者
dirtwillfly 发表于 2013-8-25 20:32
理论上讲,如果AD中断正在执行,串口来了信号会在AD中断执行完毕后执行串口中断 ...

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

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

使用特权

评论回复
6
wlfbuaa|  楼主 | 2013-8-26 08:37 | 只看该作者
本帖最后由 wlfbuaa 于 2013-8-26 08:42 编辑
1988020566 发表于 2013-8-25 23:20
串口中断的优先级调高。

刚看了下,是串口0的优先级高于AD高于串口1的优先级,之前一直以为串口的优先级高,修改下程序试试。谢谢提醒!

使用特权

评论回复
7
zhangchaoyang| | 2013-8-26 08:51 | 只看该作者
可以试试中断嵌套.

使用特权

评论回复
8
dirtwillfly| | 2013-8-26 11:52 | 只看该作者

使用特权

评论回复
9
wlfbuaa|  楼主 | 2013-9-4 09:40 | 只看该作者
谢谢各位大侠。问题已经解决了。没有用到中断嵌套。

使用特权

评论回复
10
dirtwillfly| | 2013-9-5 20:21 | 只看该作者
wlfbuaa 发表于 2013-9-4 09:40
谢谢各位大侠。问题已经解决了。没有用到中断嵌套。

:L汗一个。根据楼主顶楼的描述,大家都向“执行两个中断”的方向思考了

使用特权

评论回复
11
someone,| | 2014-6-21 00:27 | 只看该作者
wlfbuaa 发表于 2013-9-4 09:40
谢谢各位大侠。问题已经解决了。没有用到中断嵌套。

楼主,这个问题是怎么解决的啊,感谢

使用特权

评论回复
12
smilingangel| | 2014-6-22 12:14 | 只看该作者
这个可以设置下中断优先级的呗

使用特权

评论回复
13
firstblood| | 2014-6-22 18:24 | 只看该作者
中断嵌套的,需要整明白所需要的中断源的

使用特权

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

本版积分规则

1

主题

5

帖子

0

粉丝