📄 ds13xx_test.c
字号:
#include <stdio.h>#include <fcntl.h>#include <stdlib.h>#include <sys/types.h>#include <sys/ioctl.h>#include <linux/rtc.h>int main(int argc, char *argv[]){ int fd; struct rtc_time dt; if(argc < 2){ printf("usage:argc ds13xx_test [read|write]\n"); return; } fd = open("/dev/ds1337", O_RDWR); if(fd < 0){ printf("open device ds1337 error\n"); return; } if(strncmp(argv[1], "read", 4)==0){ printf("======read from ds1337 rtc=======\n"); ioctl(fd, RTC_RD_TIME, &dt); printf("ds1307_read_datetime: year = %d\n", dt.tm_year+2000); printf("ds1307_read_datetime: mon = %d\n", dt.tm_mon); printf("ds1307_read_datetime: mday = %d\n", dt.tm_mday); printf("ds1307_read_datetime: hour = %d\n", dt.tm_hour); printf("ds1307_read_datetime: min = %d\n", dt.tm_min); printf("ds1307_read_datetime: sec = %d\n", dt.tm_sec); } if(strncmp(argv[1], "write", 5)==0){ printf("=========set ds1337 rtc=============\n"); memset(&dt, 0, sizeof(struct rtc_time)); dt.tm_year = 2007-2000; dt.tm_mon = 11; dt.tm_mday = 15; dt.tm_hour = 10; dt.tm_min = 40; dt.tm_sec = 29; ioctl(fd, RTC_SET_TIME, &dt); printf("ds1307_set_datetime: tm_year = %d\n", dt.tm_year+1970); printf("ds1307_set_datetime: tm_mon = %d\n", dt.tm_mon); printf("ds1307_set_datetime: tm_mday = %d\n", dt.tm_mday); printf("ds1307_set_datetime: tm_hour = %d\n", dt.tm_hour); printf("ds1307_set_datetime: tm_min = %d\n", dt.tm_min); printf("ds1307_set_datetime: tm_sec = %d\n", dt.tm_sec); } close(fd); return;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -