linux高低电平输出时间和硬件不一致

linux高低电平输出时间和硬件不一致,第1张

linux 的系统时间有时跟硬件时间是不同步的

Linux时钟分为系统时钟(System Clock)和硬件(Real Time Clock,简称RTC)时钟。系统时钟是指当前Linux Kernel中的时钟,而硬件时钟则是主板上由电池供电的时钟,这个硬件时钟可以在BIOS中进行设置。当Linux启动时,硬件时钟会去读取系统时钟的设置,然后系统时钟就会独立于硬件运作。

Linux中的所有命令(包括函数)都是采用的系统时钟设置。在Linux中,用于时钟查看和设置的命令主要有date、hwclock和clock。其中,clock和hwclock用法相近,只用一个就行,只不过clock命令除了支持x86硬件体系外,还支持Alpha硬件体系

装完win7和Linux双系统后,进入Linux后再进入Windows,你会惊奇的发现时间不对了,差了有8个小时。 导致这样的原因是Winows和 Linux 对硬件时间的处理方法不同,Windows将硬件时间作为本地时间,而Linux则将硬件时间处理为UTC时间。因此在中国UTC+8时区的情况下使用 Windows 和 Linux 会有八个小时的差异。 解决方案: Linux命令: hwclock可以查看硬件时间, timedatectl可以查看本地时间、UTC时间、时区、是否开启时间同步等信息。 思路: 将两个系统对硬件时间的处理统一化,统一将硬件时间做为本地时间。 Windows时间不做处理,在Linux下处理时间 timedatectl set-local-rtc命令可以将硬件时间 设置为本地时间或UTC时间 如果经过上述设置之后时间显示不正确了,可以通过下列命令同步时间。

        1. windows把硬件时间当作本地时间,也就意味着windows系统中显示的时间和BIOS中显示的时间是一样的。         2. mac把硬件时间当作UTC ,也就意味着mac系统中显示的时间是硬件时间经过换算得到的。显示的时间是硬件时间+时区。例如北京则是硬件时间+8小时         1. 更改windows中注册表         2.设置mac将硬件时间当作本地时间,不作为UTC时间即可。         1. windows系统中的设置             在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation\中添加一项数据类型为REG_DWORD,名称为RealTimeIsUniversal,值设为1             或者用命令行:             @echo off             color 0a             Reg add HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v RealTimeIsUniversal /t REG_DWORD /d 1             echo.             echo 已让Windows识别存贮在主板CMOS内的时间为格林威治标准时间(GMT),即系统根据CMOS时间和设置的时区来确定当前系统的时间。             echo.             pause         2. linux系统中的设置             修改/etc/default/rcS,设置不使用UTC时间,设置如下:             UTC=no         3. mac系统中的设置             a. 将时区设置为格林尼治标准时间             b. 将时间调整为当前时间,存储即可。(注意自动设置日期与时间不要打开,否则时间会更改)


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/7455236.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-05
下一篇2023-04-05

发表评论

登录后才能评论

评论列表(0条)

    保存