大家好,最近做CC430F5137的一个项目时遇到一个问题,我的设备是电池供电,所以需要低功耗模式,晶振用的内部晶振,每分钟通过RTC中断唤醒一次或者用外部中断进行唤醒,但是设备在长时间运行后出现RTC无法唤醒,必须通过外部中断才能唤醒,找了几天都没找到原因,希望大家一起帮我分析下,谢谢!!!
这个是RTC中断唤醒程序。
这个是进入低功耗部分代码。
灰小子:
能否提供下完整代码?
觉得还是rtc的配置问题,或者rtc运行用到的其他资源配置问题
shangguan ouyang:
回复 灰小子:
你好,谢谢你的回答。
这个是RTC的配置,定义了RTC_INIT_61US。
这两个函数分别是停止RTC和开始RTC定时,rtc_start是在rtc_sleep中调用,在中断中调用rtc_stop。程序里面都是通过调用rtc_sleep来进行休眠和定时。
上图是程序中的一处调用rtc_sleep。运行一段时间后,程序没有唤醒(因为执行结果不对),但是通过外部中断唤醒一次过后程序就正常了。
这是外部中断唤醒。