430f2272的程序,不加中断程序运行正常。加一段中断程序后,程序执行很慢,就在下面的初始化程序里出不来了,像是进入了低功耗模式
WDTCTL = WDTPW + WDTHOLD; //stop watchdog timer
{
volatile int i;
for (i=1;i<0xFFFF;i++){} //delay loop to ensure porper startup
}
真是奇怪,难道加了中断,就自动进入低功耗模式了?我的中断程序里加了
LPM4_EXIT;
这句是退出低功耗的啊,主程序里也没有进入低功耗模式的语句,真是奇怪。搞死了要,那位大侠指教一二啊。
volatile int i;
for (i=1;i<0xFFFF;i++)
i是有符号的 你怎么还用0xFFFF?
另外窝换衣你程序是不是跑飞复位了
引用:
volatile int i;
for (i=1;i<0xFFFF;i++)
i是有符号的 你怎么还用0xFFFF?
另外窝换衣你程序是不是跑飞复位了
|
|
还有0xFFFF十六进制数最高位是字母的话应该要加0才对
呵呵,现在问题是解决了,但是不知道原因。
1、在main程序里设置断点,让后连续运行,就进入了低功耗模式。
2、中断程序中没有推出低功耗模式的语句,退出中断就进入了低功耗模式。
3、开启了相应的中断,但没有相应的终端服务程序,也会进入地功耗模式。
难道430就是这么设置的?很奇怪。不知道为什么main程序里不能设置断点,程序调试起来很不方便。
不过程序连续运行之后在设置断点貌似又可以的。
奇怪啊。