调试中遇到以下问题:单片机初始化,开启外部XT1= 32768Hz,XT2= 12MHz,初始化RTC,执行完设备自检后,关闭XT2,然后进入LPM3状态,待按键中断后,开启 XT2,读取RTC时钟,利用LCD显示出来。
遇到的现象:
1:按键中断后,读取的RTC时间值均为0。
调试时同时发现,若进入的是LPM0或者LPM1,则读取时间正常。
若进入LPM3之前不关闭XT2,读取时间也正常。
请各位高手帮忙分析一下原因。
另外关于RTC_B的来源,
芯片资料中并无详细讲解,仅表明是32768Hz,想咨询一下相关的情况,以上现象是否和此有关?
dan wang:
在读取RTC之前,加入
while(BAKCTL & LOCKBAK) // Unlock XT1 pins for operation BAKCTL &= ~(LOCKBAK);
就恢复正常,貌似LOCKBAK只有系统core掉电和进入LPMx.5才会置高,还是我理解的不正确,请高手帮忙分析。
灰小子:
回复 dan wang:
楼主可以参考这个资料http://www.ti.com.cn/cn/lit/sw/slau316/slau316.pdf