• 系统时钟和硬件时钟同步


    硬件时钟调整与系统时钟一致:

    //system("hwclock -w")

    int SyncSystemClockToHw(void)
    {
    	struct timeval tv;
    	struct tm tm_time;
    	int fd;
    	int ret = 0;
    
    	ret = access("/dev/rtc1",F_OK);
    	if(0 == ret)
    	{
    		fd = open("/dev/rtc1", O_WRONLY);//只写
    		if (fd < 0)
    		{
    			TIMER_INFO("open /dev/rtc0  failed!");
    			return -1;
    		}
    	}
    	else
    	{
    		fd = open("/dev/rtc0", O_WRONLY);
    		if (fd < 0)
    		{
    			TIMER_INFO("open /dev/rtc0  failed!");
    			return -1;
    		}
    	}
    
    	gettimeofday(&tv, NULL);
    	/* Prepare tm_time */
    		
    	localtime_r((time_t*)&tv.tv_sec, &tm_time);
    	tm_time.tm_isdst = 0;
    	
    	ioctl(fd, RTC_SET_TIME, &tm_time);
    	
    	close(fd);
    	return 0;
    	//system("hwclock -w");
    }


    系统时钟调整与硬件时钟一致:

    //system("hwclock -s")

    int SyncHwClockToSystem(void)
    {
    
    	struct timeval tv;
    	struct timezone tz;
    	struct tm tm_time;
    	int fd;
    	int ret = 0;
    
    	gettimeofday(&tv, &tz);
    
    	ret = access("/dev/rtc1",F_OK);
    	if(0 == ret)
    	{
    		fd = open("/dev/rtc1", O_WRONLY);//只写
    		if (fd < 0)
    		{
    			TIMER_INFO("open /dev/rtc0  failed!");
    			return -1;
    		}
    	}
    	else
    	{
    		fd = open("/dev/rtc0", O_WRONLY);
    		if (fd < 0)
    		{
    			TIMER_INFO("open /dev/rtc0  failed!");
    			return -1;
    		}
    	}
    
    	memset(&tm_time, 0, sizeof(tm_time));
    	ioctl(fd, RTC_RD_TIME, &tm_time);
    	tm_time.tm_isdst = -1; /* "not known" */
    
    	close(fd);
    
    	tv.tv_sec = mktime(&tm_time);
    	tv.tv_usec = 0;
    	if (settimeofday(&tv, &tz))
    	{
    		TIMER_INFO("settimeofday failed!");
    		return -1;
    	}
    
    	return 0;
    	//system("hwclock -s");
    }

  • 相关阅读:
    asp.net 2.0 国际化 动态切换语言
    SKU、UPC、EAN和ISBN
    NCalc:处理数学运算的好帮手
    yaf 论坛安装
    Afterlogic xmail 邮局软件不能收email 设置
    要围着中心来做事
    保证Winform程序只有一个实例在运行
    可视热敏读写卡开发
    jQuery CSS 效果
    代碼小片斷
  • 原文地址:https://www.cnblogs.com/hehehaha/p/6332284.html
Copyright © 2020-2023  润新知