【正点原子STM32MP257连载】第四章 ATK-DLMP257B功能测试——RTC时钟测试 #内部RTC时钟 #外部时钟模块AT8563
1)实验平台:正点原子ATK-DLMP257B开发板
2)浏览产品:https://www.alientek.com/Product_Details/135.html
3)全套实验源码+手册+视频下载:正点原子资料下载中心
文章目录
- 第四章 ATK-DLMP257B功能测试——RTC时钟测试
- 4.14.1 RTC0(内部RTC时钟)修改测试
- 4.14.2 RTC1(外部时钟模块AT8563)修改测试
第四章 ATK-DLMP257B功能测试——RTC时钟测试
ATK-DLMP257开发板有两个硬件时钟,一个是核心板上的处理器内部的RTC时钟(/sys/class/rtc/rtc0)。另外一个是底板上RTC时钟芯片AT8563,属于芯片外部RTC时钟(/sys/class/rtc/rtc1),由RTC纽扣电池供电,开发板掉电仍保存时间和计时。若需要提高时钟的精度,需要用高精度的晶振。
请检查开发板底板上是否有安装RTC纽扣电池。也可以用万用表检查RTC电池有没有电,测出来是3.3v左右才是正常的。防止因RTC电池没电不能保存时间。(注意,电池属于易耗品,若没电请更换纽扣电池)
Linux系统分两个时钟,一个是system time(软件时钟),一个是hardware clock(硬件时钟)。使用date和hwclock命令可分别查看和设定系统时间和硬件时间。系统时钟掉电即会消失,RTC 时钟在有电池的情况下会长期运行。系统时钟会在系统重启时与 RTC 时钟同步。
4.14.1 RTC0(内部RTC时钟)修改测试
QT界面的时间和内核默认的指定时钟都是使用的rtc0。
先关闭deptp服务,再设置时间进行测试;
systemctl stop deptp.service
date
给内部rtc写入时间:
date -s "2025-02-11 11:58:00"
hwclock --systohc --rtc=/dev/rtc0 --localtime
查询内部rtc时间:
cat /sys/class/rtc/rtc0/time
cat /sys/class/rtc/rtc0/date
date
此时查看Qt界面可以看到Qt界面的时间修改了。
如果需要启动deptp服务请执行下面指令:
systemctl start deptp.service
4.14.2 RTC1(外部时钟模块AT8563)修改测试
先关闭TSN服务,再设置时间进行测试;
systemctl stop deptp.service
date
给AT8563写入时间:
date -s "2025-02-11 11:58:00"
hwclock --systohc --rtc=/dev/rtc1 --localtime
查询PCF8563时间:
cat /sys/class/rtc/rtc1/time
cat /sys/class/rtc/rtc1/date
date
如果需要启动deptp服务请执行下面指令:
systemctl start deptp.service