我的需求:
- MCU上电后给串口屏发送一次实时时钟,
- 检测到机械按键按下时,需要给串口屏发送实时时钟,
- 当串口屏需要修改时间时,给MCU发送时间数据,MCU收到时间数据后,一方面修改单片机时间,需要掉电保持,零一方面,把修改后的时间读出来,发给串口屏。
我目前的情况:
- 使用标准库函数进行修改。
- 初次配置时间没有问题,(因为是按着教程的函数,另外注意了一下备份寄存器的值的修改);教程里的函数是:如果备份寄存器的值不等于0xaa,则重新配置。
- 我通过按键配置的程序是:将例程里的RtcInit()函数里的检测函数修改为如果备份寄存器的值等于0xaa,则重新配置。并且在给串口屏发送时间前,先读取时间,并且如果闹钟中断发生,将闹钟中断变量置零。
我目前的问题:通过按键可以修改RTC的值,但是掉电后再次上电,所修改的值就仍然是修改前的时间。
当然得有电池啊,你看电脑主板都是带电池得
没电还想让RTC计时,你这不是既想牛干活又不让牛吃草吗
@ dceacho非常感谢您回答我的问题!
电池是有的,我用了一个1F/5.5V的超级电容。
后来,我在修改函数的后面,关闭备份寄存器使能,就好了。