📄 rtc.c
字号:
/* * Description: * example for rtc. * * What is shown in this example: * 1. How to open rtc * 2. How to get rtc * 3. How to set new hour to rtc * * Usage: * rtc.o [new hour] * e.g * rtc.o 23 change hour to 23 */#include <stdio.h>#include <linux/rtc.h>#include <fcntl.h>#include <errno.h>#include <sys/ioctl.h>intmain(argc, argv) int argc; char *argv[];{ int fd, new_hour; struct rtc_time org_time, set_time, rd_time; /*open rtc*/ fd = open("/dev/rtc",O_RDWR); if (fd == -1) { printf("open Failed. errno: %d\r\n", errno); return; } /*get current time*/ ioctl(fd, RTC_RD_TIME, &org_time); printf("local time: %d/%d/%d: %d:%d:%d\r\n", org_time.tm_year+1900, org_time.tm_mon, org_time.tm_mday, org_time.tm_hour, org_time.tm_min, org_time.tm_sec); if (argc == 2) { new_hour = atoi(argv[1]); if ((new_hour < 0) || (new_hour > 23)) { printf("Usage: rtc.o 15....change new hour to 15"); return; } /*set new time*/ set_time = org_time; set_time.tm_hour = new_hour; ioctl(fd, RTC_SET_TIME, &set_time); /*get new time*/ ioctl(fd, RTC_RD_TIME, &rd_time); printf("new time: %d/%d/%d: %d:%d:%d\r\n", rd_time.tm_year+1900, rd_time.tm_mon, rd_time.tm_mday, rd_time.tm_hour, rd_time.tm_min, rd_time.tm_sec); } close(fd);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -