VxWorks for x86系統(tǒng)中實時時鐘的應(yīng)用
函數(shù)BIOSTimeGet ()用來從端口讀取BIOS時間,在該函數(shù)內(nèi)部調(diào)用BCD2BIN()函數(shù),其返回值為tm型結(jié)構(gòu)的日期和時間。具體內(nèi)容如下:
函數(shù)SetSysTime ()可用來將系統(tǒng)時間設(shè)置為實時時鐘時間,在該函數(shù)的內(nèi)部調(diào)用BIOSTimeGet ()函數(shù)的內(nèi)容如下:
調(diào)用SetSysTime()函數(shù)后再調(diào)用GetSysTime()函數(shù),其顯示內(nèi)容就是當(dāng)前實時時鐘的時間,這表明系統(tǒng)時間和實時時鐘已實現(xiàn)了同步。
3實時時鐘的特定時間設(shè)置
在某些應(yīng)用中,有時我們也希望能校正實時時鐘,也就是能將BIOS中的實時時鐘設(shè)置為某個特定時間。這個功能同樣可以通過訪問端口0x70,0x71來實現(xiàn)。
需要注意的是,寫入到端口的數(shù)據(jù),其格式為BCD碼,因此在使用前,需要將數(shù)據(jù)從十進(jìn)制數(shù)轉(zhuǎn)換為BCD碼。
函數(shù)BIN2BCD()可用來將十進(jìn)制數(shù)轉(zhuǎn)換為BCD碼,它的輸入為十進(jìn)制數(shù),返回值為BCD碼。其內(nèi)容如下:
評論