再详细描述一下现象,不知道问题出在哪里
MSP430F1232,32K晶振原来是这样做的:
启动后,时钟默认,WDT关闭,设置TimerA增计数到0XFFFF后中断,然后主程序中死循环LPM3休眠。
在中断处理程序中执行大概50ms的样子。
现在为了低功耗需要延长中断时间,同时要使用看门狗保证稳定性,做了修改:
启动后,把ACLK的时钟源,也就是32K的外接晶振8分频为4K, WDT设置成那个WDT_ARST_1000,也就是变成 1*8 秒了, 设置TimerA增计数到大概 4s 的时候中断,然后主程序中死循环LPM3休眠。
在中断处理程序中先喂狗,然后执行原来的那段50ms的程序。 但奇怪的时候,发现时间也由50ms变成了原来的8倍到400ms了。
我就奇怪了,ISR中应该是Active模式了吧,CPU使用的MCLK,时钟源是默认的DCO, 而WDT和TimerA的时钟是ACLK,两者没有关系啊,为何也变慢了呢?
大家觉得问题出在什么地方?
页:
[1]