【GD32评测】三、RTC

[复制链接]
2626|19
 楼主| lisingch 发表于 2020-4-28 10:27 | 显示全部楼层 |阅读模式
      以前都是使用RTC芯片来实现实时时钟功能,GD32E231C8T6片上集成了RTC外设,这次实验就来试试。先看看RTC外设的简介:
2020-04-28_100039.png
2020-04-28_100052.png
2020-04-28_100150.png
    从图中可以看到RTC外设的功能比较强大,同时对于RTC时钟的选择也是比较灵活,由于开发板上已经安装了32768Hz晶振,本次实验亦使用了“LXTAL”作为RTC时钟源。下面是实验的一些代码片段,只是完成了“读秒”并通过USART发送至PC端。
  1. void rtc_config(void)
  2. {
  3.         rcu_periph_clock_enable(RCU_PMU);
  4.         pmu_backup_write_enable();
  5.         
  6.         rcu_osci_on(RCU_LXTAL);                                                                        //使能32768 Hz外部低速晶振(LXTAL)  
  7.         rcu_osci_stab_wait(RCU_LXTAL);                                        //等待晶振稳定
  8.         rcu_rtc_clock_config(RCU_RTCSRC_LXTAL);        //配置RTC时钟源选择

  9.         rcu_periph_clock_enable(RCU_RTC);
  10.   rtc_register_sync_wait();
  11. }
  1. int main(void)
  2. {
  3.         static uint8_t second;
  4.         systick_config();

  5.         USART0_Config();
  6.         rtc_config();

  7.         printf("GD32E231C_START USART0 RTC\r\n");

  8.         while(1)
  9.         {
  10.                 rtc_current_time_get(&rtc_calendar);
  11.                
  12.                 second = ((rtc_calendar.rtc_second/16)*10)+((rtc_calendar.rtc_second)%16);
  13.                 printf("rtc_second %d \r\n",second);
  14.     delay_1ms(1000);
  15.         }
  16. }
下面是串口收到的数据截图:
2020-04-28_095504.png

USART0_RTC.rar (383.61 KB, 下载次数: 23)
21ic小喇叭 发表于 2020-4-28 11:06 | 显示全部楼层
感谢您写了3篇评测,给您寄份小礼物,以后也多多支持二姨家哦!
 楼主| lisingch 发表于 2020-4-28 22:10 | 显示全部楼层
21ic小喇叭 发表于 2020-4-28 11:06
感谢您写了3篇评测,给您寄份小礼物,以后也多多支持二姨家哦!

谢谢领导奖励!继续努力
HuangHongLun 发表于 2020-4-29 15:55 | 显示全部楼层
支持下,有测试内部的RTC误差有多大吗?
 楼主| lisingch 发表于 2020-4-29 18:14 | 显示全部楼层
HuangHongLun 发表于 2020-4-29 15:55
支持下,有测试内部的RTC误差有多大吗?

谢谢支持!没测试过误差。
海洋无限 发表于 2020-5-9 15:09 | 显示全部楼层
这个功能挺实用
sy58731999 发表于 2023-5-10 17:55 | 显示全部楼层
小白想询问一下,同步和异步的预分频那个公式是怎么计算的? 就一直rtcclk是32KHZ的,那其他两个值的其中一个值是多少?在哪里看到的?
youtome 发表于 2023-5-14 20:27 | 显示全部楼层
GD32的RCC和RTC有什么联系
primojones 发表于 2023-5-14 20:40 | 显示全部楼层
GD32 rtc用电阻分压供电可以吗
wengh2016 发表于 2023-5-14 20:46 | 显示全部楼层
如何初始化RTC并获取当前时间
mickit 发表于 2023-5-14 20:52 | 显示全部楼层
在进行GD32开发时,可以参考官方提供的RTC应用示例和相关文档进行开发。
uytyu 发表于 2023-5-14 21:08 | 显示全部楼层
GD32系列微控制器集成了RTC(实时时钟)模块,可以用于系统的时间和日历功能。
pmp 发表于 2023-5-14 21:14 | 显示全部楼层
RTC用内部时钟可以吗               
claretttt 发表于 2023-5-14 21:24 | 显示全部楼层
GD32的 RTC掉电后还继续计数吗?
sdCAD 发表于 2023-5-14 21:36 | 显示全部楼层
使用rcu_periph_clock_enable()函数使能RTC时钟,并使用pmu_backup_write_enable()函数允许RTC备份寄存器的写入。然后使用rtc_init()函数初始化RTC,并使用rtc_time_config()函数设置当前时间。最后使用rtc_time_get()函数获取当前时间。
bartonalfred 发表于 2023-5-14 21:42 | 显示全部楼层
怎么样设计rtc外围电路               
biechedan 发表于 2023-5-14 21:56 | 显示全部楼层
RTC能产生毫秒级的中断吗              
ccook11 发表于 2023-5-14 22:02 | 显示全部楼层
rtc与外界时间怎么校准的               
wengh2016 发表于 2023-5-14 22:12 | 显示全部楼层
rtc唤醒日期每天唤醒写什么              
sheflynn 发表于 2023-5-14 22:15 | 显示全部楼层
rtc外接纽扣电池电压多少               
您需要登录后才可以回帖 登录 | 注册

本版积分规则

99

主题

15005

帖子

19

粉丝
快速回复 在线客服 返回列表 返回顶部