1.介绍
想了一想,有屏幕那肯定要做一些正经的东西,然后就想到了先做个简单的RTC和屏幕的结合吧,因为官方提供了RTC和屏幕的例程,那融合一下就可以了。
2.融合开始
首先运行一下RTC的例程,结果如下图,第一次运行时需要自己输入时间。
然后直接开始融合,打开屏幕显示代码,把显示部分都屏蔽了,除了边框的显示。
然后直接拷贝RTC的函数声明。
再拷贝初始化部分,和函数定义部分。
然后拷贝RTC的中断函数。
最后再自己写一个屏幕显示字符串的函数,也是唯一一个自己写的代码哈。
void lcd_rtc_display(uint32_t timevar)
{
uint32_t thh = 0, tmm = 0, tss = 0;
char rtc_time_array[30] = {0};
/* compute hours */
thh = timevar / 3600;
/* compute minutes */
tmm = (timevar % 3600) / 60;
/* compute seconds */
tss = (timevar % 3600) % 60;
sprintf(rtc_time_array, " Time: %0.2d:%0.2d:%0.2d", thh, tmm, tss);
for(uint8_t i = 0;rtc_time_array[i] != '\0';i++)
{
lcd_char_display((35+8*i), 20, rtc_time_array[i], char_format);
}
}
最后拷贝到RTC时间刷新显示部分即可。
然后把显示函数放到主函数里循环就行了。
最终的效果如下图所示。
3.总结
这次融合非常快,因为代码基本没有冲突,拷贝过来直接用就可以了。后续会在这个Demo中添加其他功能,想在这个屏幕中播放视频哈~
这次融合的Demo代码: