提供网站建设的公司,推广产品最好的方式,福州制作网站企业,常州网站定制嵌入式Linux的RTC读写操作应用 一、前提二、头文件引用三、设置RTC时间四、读取RTC当前时间 一、前提 嵌入式开发中经常有碰到读取和修改时间的需求#xff0c;所以会经常用到RTC这个功能。首先保证你的开发板上具有RTC这个模块和支持RTC且能正常工作#xff0c;然后再进行应… 嵌入式Linux的RTC读写操作应用 一、前提二、头文件引用三、设置RTC时间四、读取RTC当前时间 一、前提 嵌入式开发中经常有碰到读取和修改时间的需求所以会经常用到RTC这个功能。首先保证你的开发板上具有RTC这个模块和支持RTC且能正常工作然后再进行应用程序的编写。你可以使用date命令和hwclock命令查看系统时间和RTC时间初步检验是否具有RTC时钟。
二、头文件引用
#include stdio.h
#include stdlib.h
#include string.h
#include sys/types.h
#include sys/fcntl.h
#include unistd.h
#include sys/ioctl.h
#include linux/rtc.h三、设置RTC时间
void setRtcTime(int year,int mon,int mday,int hour,int min,int sec)
{struct rtc_time rtc_tm;int fd open(/dev/rtc0, O_RDONLY);ioctl(fd, RTC_RD_TIME, rtc_tm); rtc_tm.tm_yearyear-1900;rtc_tm.tm_monmon-1;rtc_tm.tm_mdaymday;rtc_tm.tm_hourhour;rtc_tm.tm_minmin;rtc_tm.tm_secsec;ioctl(fd,RTC_SET_TIME,rtc_tm);close(fd);
}四、读取RTC当前时间
void getRtcTime(void)
{struct rtc_time rtc_tm;int fd open(/dev/rtc0,O_RDWR);if(fd2){printf(%s 设备文件打开失败.\n);}ioctl(fd, RTC_RD_TIME, rtc_tm); //如果需要写进去此处改为RTC_SET_TIME后面先赋值再ioctlprintf(应用层读取的时间: %d-%d-%d %d:%d:%d\n,rtc_tm.tm_year1900,rtc_tm.tm_mon1,rtc_tm.tm_mday,rtc_tm.tm_hour,rtc_tm.tm_min,rtc_tm.tm_sec);close(fd);}