请问STM32的RTC 能否产生4ms 的报警中断/唤醒?
#define RTC_CLOCK (32768)
#define RTC_DIV (2)
RTC_SetPrescaler(RTC_DIV-1); //因为不推荐为0
RTC_SetAlarm(((RTC_CLOCK/RTC_DIV)/250));
我用仿真器调试时发现好象一直在中断,把分频改成:
RTC_SetPrescaler(32768-1); 好象就可以。
是不是频率不能太高。
我是想利用RTC的报警唤醒功能实现低功耗(STOP 模式),欢迎大家讨论,谢谢!
利用RTC的报警唤醒功能实现低功耗(STOP 模式)
STM32的RTC 应该支持啊,4ms唤醒1次应该没有问题。
对,这个已经确认!
问题在于唤醒后外设需要初始化,否则不能正常工作。不知道
ijk 先生有没有测试过?
不知道为什么要用4ms的中断
4ms的中断是没有问题,关键在于你中断服务程序占用的CPU是多少,即使是100us,那么你中断所占用的CPU达2。5%,那么其他程序能使用的会较少。
第二个问题是如果是使用这个来唤醒,系统初始时间和外设初始化时间都要考虑进去。
想学下STM32的RTC
能把配置RTC工作过程,贴上来吗