1、把开发板的测试程序裁剪,RTC在终端里能自动更新时间。
2、在main()函数中加入了这几句
while(){
GUI_DispDecAt(year,300,60,4); /
GUI_DispCharAt(':',365,60);
GUI_DispDecAt(month,375,60,2);
GUI_DispCharAt(':',405,60);
GUI_DispDecAt(day,415,60,2);
GUI_DispCharAt(':',445,60);
GUI_DispDecAt(hour,460,60,2);
GUI_DispCharAt(':',490,60);
GUI_DispDecAt(min,500,60,2);
GUI_DispCharAt(':',540,60);
GUI_DispDecAt(min,550,60,2);
DisplayRtc();
Display_Rtc();
}
只在原来的基础上加了几个UC/GUI语句,为什么读出来的year、mont...min的值都是00:00.......:00呢?
以上代码只是显示的转换吧?
读取RTC是在哪里做的?中断还是线程?
可能是编译器优化的原因,建议year等变量定义的时候加上volatile