PSoC 6 BLE原型开发板所采用的PSoC 63 BLE模块 (CYBLE-416045-02)在芯片内部配有RTC计时器,通过它的使用可轻松地实现电子时钟的功能。
为了将RTC的计时值显示出来,是沿用前面介绍过的串行数码管模块。
要在原有的程序上添加RTC计时功能,需按图1所示来增加一个RTC计时器。
图1 添加RTC计时器
在添加RTC计时器之后,为了调用相应的RTC函数,需在程序中添加“#include "RTC_1.h"”。
在完成以上2个条件后,其实现电子时钟功能的主程序为:
int main(void)
{
cy_stc_rtc_config_t dateTime1;
Init_MAX7219();
Write_Max7219(1,0);
Write_Max7219(2,0);
Write_Max7219(3,0xa);
Write_Max7219(4,0);
Write_Max7219(5,0);
Write_Max7219(6,0xa);
Write_Max7219(7,0);
Write_Max7219(8,0);
Cy_RTC_Init(&RTC_1_config);
while(1)
{
RTC_1_GetDateAndTime(&dateTime1);
Write_Max7219(1,dateTime1.sec%10);
Write_Max7219(2,dateTime1.sec/10);
Write_Max7219(4,dateTime1.min%10);
Write_Max7219(5,dateTime1.min/10);
Write_Max7219(7,dateTime1.hour%10);
Write_Max7219(8,dateTime1.hour/10);
}
}
经程序的编译和下载,其运行效果如图2所示。
图2 运行效果
演示视频:
电子时钟