貴陽建設(shè)網(wǎng)站公司5118
Unix時間戳
Unix 時間戳(Unix Timestamp)定義為從UTC/GMT的1970年1月1日0時0分0秒開始所經(jīng)過的秒數(shù),不考慮閏秒
時間戳存儲在一個秒計數(shù)器中,秒計數(shù)器為32位/64位的整型變量
世界上所有時區(qū)的秒計數(shù)器相同,不同時區(qū)通過添加偏移來得到當?shù)貢r間.
好處:時間間隔好;硬件電路使用;儲存方便;
害處:消耗軟件進程。
STM32是32位秒計數(shù)器。
RTC操作注意事項
執(zhí)行以下操作將使能對BKP和RTC的訪問:
設(shè)置RCC_APB1ENR的PWREN和BKPEN,使能PWR和BKP時鐘
設(shè)置PWR_CR的DBP,使能對BKP和RTC的訪問
若在讀取RTC寄存器時,RTC的APB1接口曾經(jīng)處于禁止狀態(tài),則軟件首先必須等待RTC_CRL寄存器中的RSF位(寄存器同步標志)被硬件置1
必須設(shè)置RTC_CRL寄存器中的CNF位,使RTC進入配置模式后,才能寫入RTC_PRL、RTC_CNT、RTC_ALR寄存器
對RTC任何寄存器的寫操作,都必須在前一次寫操作結(jié)束后進行??梢酝ㄟ^查詢RTC_CR寄存器中的RTOFF狀態(tài)位,判斷RTC寄存器是否處于更新中。僅當RTOFF狀態(tài)位是1時,才可以寫入RTC寄存器