MSP430F149的中断问题......

[复制链接]
 楼主| jovewaters 发表于 2008-11-27 21:27 | 显示全部楼层 |阅读模式
发现在TIMER0的中断服务程序里加上_DINT()函数,根本就不起取消中断使能的作用;还有加上_BIC_SR(LPM0_bits);也起不到唤醒CPU的作用啊,请问是为什么啊??????求助!
luhongmiao520 发表于 2009-12-7 16:08 | 显示全部楼层
小朋友,你要在中断那个程序里,退出低功耗模式,lpm0低功耗模式是关了cpu和mclk控制的模块,所以你唤醒的时候要退出。试试老娘说的去做
李冬发 发表于 2009-12-8 00:13 | 显示全部楼层
430的中断,没有优先级的。
ayl439 发表于 2009-12-8 12:25 | 显示全部楼层
嘿嘿 师傅 ~~~

对于楼主的问题
1:在TIMER0的中断服务程序里加上_DINT()函数,根本就不起取消中断使能的作用
430确实无法在中断中取消中断使能,原因是:430默认设置不能中断嵌套,其实现方式是在进入中断之前取消总中断使能,再在退出中断的时候打开总中断使能。所以才出现楼主的问题。
解决办法:只能在非中断服务程序中取消中断使能,且该非中断服务程序不能通过中断服务程序调用

2:_BIC_SR(LPM0_bits);可以唤醒CPU。其实质是:不加这句话,那么退出中断服务程序后,SR会回复之前的状态。加了这句话,退出中断服务程序后,SR会按照这句话执行。
所以怀疑是楼主程序问题。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

16

主题

21

帖子

0

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

16

主题

21

帖子

0

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