高级会员

- 积分
- 507
- 金钱
- 507
- 注册时间
- 2016-8-15
- 在线时间
- 79 小时
|
源码我就不发了,主要是写了好多东西,都整合在一块,我怕拿出来大家一时半会也不完,然后就都绕走了。。。我就说明一下情况吧,有哪位高手大概给分析下,希望能给我个解决方向,万分感谢!情况是这样的:芯片是STM32L051C8T6,低功耗的,现在是需要让芯片平时处于低功耗,通过外部中断或 Wake Up中断能够唤醒芯片,并让芯片通过串口将时间还有其它东西发送出来,
现在能进入低功耗,外部中断和 Wake Up都能唤醒芯片,但是连续的进入、唤醒循环19次后,RTC时间开始错乱。。。直接给我跳到2059年去了,日期和时分秒也都不对。。。
无论是 Wake Up 唤醒还是外部中断唤醒,都是19次后时间开始错乱,这个次数我也知道是可能是程序里面的某个变量19次后出错了。。。但是东西已经写很多了。。。我找不到原因。。。只求大神能给个方向。。。给我指条明路。。。
我的程序大概如下:
开始->时钟初始化->各种初始化,中断使能啥的/->大循环;
大循环里面就是判断标志位,而标志位是在中断函数里面被操作的,判断到标志位后会清除标志位,获取时间和处理信息等,然后就进入停止模式,进入后程序等待某个中断将其唤醒,唤醒后再对时钟啥的重新初始化,然后就又是清除标志位、获取时间和处理信息等,再次进入停止模式,这样循环。。。比较困惑为什么是19次这样的循环后RTC时间会错乱。。。
|
|