⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rtctest.c

📁 测试DaVinci平台硬件RTC的linux端程序
💻 C
字号:
/*
 *	Real Time Clock Driver Test/Example Program
 *
 *	Compile with:
 *		gcc -s -Wall -Wstrict-prototypes rtctest.c -o rtctest
 *
 */

#include <stdio.h>
#include <linux/rtc.h>
#include <sys/ioctl.h>
#include <sys/time.h>
#include <sys/types.h>
#include <fcntl.h>
#include <unistd.h>
#include <errno.h>

int main(void) {

int fd, retval,i;
struct rtc_time rtc_tm;

fd = open ("/dev/rtc", O_RDONLY);
if (fd ==  -1) {
	perror("/dev/rtc");
	exit(errno);
}
fprintf(stderr, "\tRTC Driver Test Example.\n\n");

/* Read the RTC time/date */
retval = ioctl(fd, RTC_RD_TIME, &rtc_tm);
if (retval == -1) {
	perror("ioctl");
	exit(errno);
}
fprintf(stderr, "Current RTC date/time is %02d-%02d-%d, %02d:%02d:%02d.\n\n",
	rtc_tm.tm_mday, rtc_tm.tm_mon + 1, rtc_tm.tm_year + 1900,
	rtc_tm.tm_hour, rtc_tm.tm_min, rtc_tm.tm_sec);

//SET RTC date/time	
	
fprintf(stderr,"\t**** NOW SET TIME YOU WANT!!****\n\t****format: day month year hour min sec****\n");
scanf("%02d%02d%04d%02d%02d%02d",&rtc_tm.tm_mday,&rtc_tm.tm_mon,&rtc_tm.tm_year,&rtc_tm.tm_hour,&rtc_tm.tm_min,&rtc_tm.tm_sec);
rtc_tm.tm_mon-=1;
rtc_tm.tm_year-=1900;

retval = ioctl(fd, RTC_SET_TIME, &rtc_tm);
if (retval == -1) {
	perror("ioctl");
	exit(errno);
}
//Read back just wrote TIME

retval = ioctl(fd, RTC_RD_TIME, &rtc_tm);
if (retval == -1) {
	perror("ioctl");
	exit(errno);
}
fprintf(stderr, "RTC date/time SET is %02d-%02d-%d, %02d:%02d:%02d.\n\n",
	rtc_tm.tm_mday, rtc_tm.tm_mon + 1, rtc_tm.tm_year + 1900,
	rtc_tm.tm_hour, rtc_tm.tm_min, rtc_tm.tm_sec);

//delay one sec

for(i=0;i<20000000;i++)
{}
retval = ioctl(fd, RTC_RD_TIME, &rtc_tm);
if (retval == -1) {
	perror("ioctl");
	exit(errno);
}
fprintf(stderr, "Current RTC date/time is %02d-%02d-%d, %02d:%02d:%02d.\n\n",
	rtc_tm.tm_mday, rtc_tm.tm_mon + 1, rtc_tm.tm_year + 1900,
	rtc_tm.tm_hour, rtc_tm.tm_min, rtc_tm.tm_sec);	
fprintf(stderr, "\t *** Test complete ***\n");
close(fd);
return 0;

} /* end main */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -