本项目是基于启明RA6M5开发板搭载2.4寸液晶屏的电子时钟,该电子时钟有两个模式——正常模式和低功耗模式,可以通过开发板的按键改变时钟模式。
项目实现效果如下:
在正常模式下,三个LED都开启,可以在2.4寸液晶屏上实时显示RTC提供的日历时间,并且可以设置闹钟,每隔一个小时进行报时。
在正常模式下,由于开启了低功耗模式的深度软件待机模式,按下开发板上的SW2键进入低功耗模式,三个LED关闭,屏幕熄灭,报时也会关闭。
在低功耗模式下,如果按下SW2键,红灯闪10下,进入正常模式,显示一下时间,随后又进去低功耗模式;如果按下SW3键,红灯闪10下,进入正常模式。
可以从串口调试助手看到RA6M5的运行状况!
一相关配置说明
1Uart4
2RTC
3深度软件待机模式
Cancel Sources 中开启IRQ9,IRQ10
4按键外部中断
开启SW2和SW3的外部中断
52.4寸液晶屏
八个引脚P001~P003、P006~P008引脚配值为输出模式,模拟SPI进行驱动
二相关代码(keil开发)
整体代码框架如图
显示屏移植主要修改一下部分,延时更换一下差不多就可以了
注:项目源码可点击文末阅读原文跳转获取。
三遇到的问题及总结
1我们使用keil开发RA6M5时可以用stlink下载,也可以使用Debug调试,有时候下载程序进去后,点Dubug出错,可以先编译,然后直接进去Debug,它下载好然后进去!
2RTC时钟源可以选择子时钟或LOCO,按照FSP库实战指南时钟源选择Sub-Clock,小时进位到时,进位不了,改为LOCO,就可以了,其他配置都一样,不懂为什么,有大佬知道的话,欢迎评论区留言!
3低功耗模式配置为深度软件待机模式,用stlink下载进去后,程序有点错乱,就是什么中断都可以唤醒MCU,复位之后也不行,但在深度软件待机模式下,下载程序,下载不了,然后程序就神奇的变好了,同上,欢迎大佬留言!
4由于参加电赛不怎么够时间完成作品,打算用esp8266联网获取准确时间,做不出来(基础不好),最后感谢野火举办的瑞萨RA MCU创意氛围赛,让我有机会学习到相关的内容!!!