主题:芯片时间日期函数 共有40272人关注过本帖 |
---|
客人 |
1楼 |
芯片时间日期函数 Post By:2013-8-29 22:06:00 [只看该作者]
我们要读取和设置EM9460日期和时间,程序每天都要对时,请问用什么函数对时?
|
|
单帖管理 | 引用 | 回复 |
yl |
2楼 信息 | 搜索 | 邮箱 |
加好友 发短信 |
Post By:2013-8-30 10:24:00 [只看该作者]
请参考光盘中“应用开发软件\驱动模块测试\test_rtc”例程测试一下,也可以来电咨询 028-86180660
|
单帖管理 | 引用 | 回复 |
yl |
3楼 信息 | 搜索 | 邮箱 |
加好友 发短信 |
Post By:2013-8-30 12:50:00 [只看该作者]
主要代码如下:
int main( int argc,char* argv[] ) {
time_t
t1;
int
ret;
struct rtc_time
rtc_tm;
int
rtc_fd;
printf("====== RTC Test ====\n");
// 解析命令行参数:串口号 波特率
if( argc > 1 )
{
sscanf( argv[1], "%d-%d-%d", &rtc_tm.tm_year, &rtc_tm.tm_mon, &rtc_tm.tm_mday );
}
else
{
rtc_tm.tm_mday = 7;
rtc_tm.tm_mon = 11;
rtc_tm.tm_year = 2012;
}
if( argc > 2 )
{
sscanf( argv[2], "%d:%d:%d", &rtc_tm.tm_hour, &rtc_tm.tm_min, &rtc_tm.tm_sec );
}
else
{
rtc_tm.tm_hour = 15;
rtc_tm.tm_min = 20;
rtc_tm.tm_sec = 0;
}
rtc_fd = open("/dev/rtc0", O_RDWR, 0);
if (rtc_fd == -1)
{
printf("/dev/rtc0 open error\n");
return -1;
}
rtc_tm.tm_mon = rtc_tm.tm_mon - 1;
rtc_tm.tm_year = rtc_tm.tm_year - 1900;
/* Set the system time/date */
t1 = timelocal( (tm*)&rtc_tm ); stime( &t1 );
/* Set the RTC time/date */ ret = ioctl(rtc_fd, RTC_SET_TIME, &rtc_tm);
if (ret == -1)
{
printf("rtc ioctl RTC_SET_TIME error\r\n");
}
close(rtc_fd);
return 0; } |
单帖管理 | 引用 | 回复 |