在使用STM8S105进行开发时,使用AWU功能,参考Datasheet描述如下:
为了使用AWU功能,按顺序执行如下步骤:
1. 使用AWU_CSR寄存器的MSR位和TIM3的输入捕捉通道1来检测LS的时钟频率;
2. 通过写AWU_APR的APR[5:0]位来定义适当的预分频值;
3. 通过写AWU_TBR的AWUTB[3:0]来选择需要的自动唤醒延时;
4. 置位AWU_CSR 的AWUEN位;
5. 执行HALT指令。
与之相符的代码为:
AWU_Init(AWU_TIMEBASE_12S);
AWU_Cmd(ENABLE);
halt();
但是按照上述描述,无法进行AWU的自动唤醒,需要修改为如下代码:
AWU_Cmd(ENABLE);
AWU_Init(AWU_TIMEBASE_12S);
halt();
才能进行正常的AWU自动唤醒,发出来以供遇到相同问题的朋友参考,如果觉得有异议,也可以来讨论讨论,谢谢。
|