发布网友 发布时间:2022-06-07 12:53
共1个回答
热心网友 时间:2023-10-18 06:16
系统开启中断服务,外设都处于关闭状态,只有timer维持看门狗运行,timer溢出触发中断,中断服务中重置了timer,整个系统绝大多数时间只有一个定时器在运行,所以低功耗。追问系统执行到这条语句_BIS_SR(LPM0_bits + GIE)后进入低功耗模式,但当 Timer A 中断后不就退出了低功耗模式吗?中断后返回原地址执行,但_BIS_SR(LPM0_bits + GIE)语句后面已经没有指令了,那这个地址是哪里?追答中断服务的理念是中断返回后系统恢复原状态,中断退出后当然又回到低功耗模式。中断中的CCR0 += 50000; 相当于重载定时器,用+=而不是直接=赋值,是因为中断服务花了时间,而这时的定时器并没闲着,它也正好从0开始记下了中断服务花费的时间,这样累加就保持时间的同步,避免了中断造成的时间误差。