struct rtc_time rtc_tm;
rtc_fd = : : open("/dev/rtc0", 0); //天嵌自带的驱动rtc0设备
if (rtc_fd < 0)
{
perror("open RTC device !");
exit(1);
}
rtc_tm.tm_year = 2012;
rtc_tm.tm_mon = 12;
rtc_tm.tm_mday = 12;
rtc_tm.tm_hour = 12;
rtc_tm.tm_min = 12;
rtc_tm.tm_sec = 12;
int retval ;
retval = ioctl(rtc_fd, RTC_SET_TIME, &rtc_tm); //返回值是-1为什么错误?为什么设置失败?
printf("RTC_SET: %d\n", retval);
while(rtc_flag != 0)
{
retval = ioctl(rtc_fd, RTC_RD_TIME, &rtc_tm);
if (retval > 0)
{
printf("Current RTC date/time is %d-%d-%d, %02d:%02d:%02d.\n", rtc_tm.tm_year, rtc_tm.tm_mon,rtc_tm.tm_mday,rtc_tm.tm_hour, rtc_tm.tm_min, rtc_tm.tm_sec);
}
else
{
perror("read RTC device failed !");
exit(1);
}
sleep(1);
}
} |