RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

配置RTC寄存器的詳細(xì)步驟 RTC相關(guān)庫函數(shù)說明

嵌入式應(yīng)用開發(fā) ? 來源:嵌入式應(yīng)用開發(fā) ? 作者:嵌入式應(yīng)用開發(fā) ? 2022-06-10 08:56 ? 次閱讀

配置RTC寄存器
1.查詢RTOFF位,知道RTOFF的值為1.

2.置CNF值為1,進(jìn)入配置模式。

3.對(duì)一個(gè)或者多個(gè)RTC寄存器進(jìn)行寫操作。

4.清除CNF標(biāo)志位,退出配置模式。

5.查詢RTOFF,直到RTOFF位變1,已確認(rèn)寫操作已經(jīng)完成。

僅當(dāng)CNF標(biāo)志位被清除時(shí),寫操作才能進(jìn)行,這個(gè)操作至少需要3個(gè)RTCCLK周期。

在這里插入圖片描述

RTC相關(guān)庫函數(shù)

RTC時(shí)鐘源和時(shí)鐘操作函數(shù):

void RCC_RTCCLKConfig(uint32_t  CLKSource);//時(shí)鐘源選擇
void RCC_RTCCLKCmd(FunctionalState NewState)//時(shí)鐘使能

RTC配置函數(shù)(預(yù)分頻,計(jì)數(shù)值):

void RTC_SetPrescaler(uint32_t PrescalerValue);//預(yù)分頻配置:PRLH/PRLL
void RTC_SetCounter(uint32_t CounterValue);//設(shè)置計(jì)數(shù)器值:CNTH/CNTL
void RTC_SetAlarm(uint32_t AlarmValue);//鬧鐘設(shè)置:ALRH/ALRL

RTC中斷設(shè)置函數(shù):

void RTC_ITConfig(uint16_t RTC_IT, FunctionalState NewState);//CRH

RTC配置函數(shù):

void RTC_EnterConfigMode(void);//允許RTC配置 :CRL位 CNF
void RTC_ExitConfigMode(void);//退出配置模式:CRL位 CNF

RTC同步函數(shù):

void RTC_WaitForLastTask(void);//等待上次操作完成:CRL位RTOFF
void RTC_WaitForSynchro(void);//等待時(shí)鐘同步:CRL位RSF

相關(guān)狀態(tài)位獲取清除函數(shù):

FlagStatus RTC_GetFlagStatus(uint16_t RTC_FLAG);
void RTC_ClearFlag(uint16_t RTC_FLAG);
ITStatus RTC_GetITStatus(uint16_t RTC_IT);
void RTC_ClearITPendingBit(uint16_t RTC_IT);

其他相關(guān)函數(shù)(BKP等)

PWR_BackupAccessCmd();//BKP后備區(qū)域訪問使能
RCC_APB1PeriphClockCmd();//使能PWR和BKP時(shí)鐘
RCC_LSEConfig();//開啟LSE,RTC選擇LSE作為時(shí)鐘源 
PWR_BackupAccessCmd();//BKP后備區(qū)域訪問使能
uint16_t BKP_ReadBackupRegister(uint16_t BKP_DR);//讀BKP寄存器
void BKP_WriteBackupRegister(uint16_t BKP_DR, uint16_t Data);//寫B(tài)KP

配置RTC步驟
①使能PWR和BKP時(shí)鐘:
RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR | RCC_APB1Periph_BKP, ENABLE);
1
② 使能后備寄存器訪問:
PWR_BackupAccessCmd(ENABLE); //使能 RTC 和后備寄存器訪問
1
③復(fù)位備份區(qū)域,開啟外部低速振蕩器。
BKP_DeInit();//復(fù)位備份區(qū)域
1
④ 配置RTC時(shí)鐘源,使能RTC時(shí)鐘:
RCC_RTCCLKConfig(RCC_RTCCLKSource_LSE); //選擇 LSE 作為 RTC 時(shí)鐘(RCC_RTCCLKSource_LSI 和 RCC_RTCCLKSource_HSE_Div128)
RCC_RTCCLKCmd(ENABLE); //使能 RTC 時(shí)鐘
1
2
⑤ 設(shè)置RTC預(yù)分頻系數(shù):RTC_SetPrescaler();
RTC_EnterConfigMode();/// 允許配置 
RTC_SetPrescaler(32767); //設(shè)置RTC預(yù)分頻的值
RTC_WaitForLastTask(); //等待最近一次對(duì)RTC寄存器的寫操作完成

⑥ 設(shè)置時(shí)間:

RTC_SetCounter();
RTC_EnterConfigMode();/// 允許配置
void RTC_SetCounter(uint32_t CounterValue);
RTC_WaitForLastTask(); //等待最近一次對(duì)RTC寄存器的寫操作完成

⑦開啟相關(guān)中斷(可選):

void RTC_ITConfig(uint16_t RTC_IT, FunctionalState NewState);//RTC_ITConfig(RTC_IT_SEC, ENABLE); //使能 RTC 秒中斷

⑧編寫中斷服務(wù)函數(shù):

RTC_IRQHandler();

⑨部分操作要等待寫操作完成和同步。

  RTC_WaitForLastTask();//等待最近一次對(duì)RTC寄存器的寫操作完成
  RTC_WaitForSynchro(); //等待RTC寄存器同步

具體的代碼,庫函數(shù)寫的太多了,我會(huì)用CubeMx配置下,用HAL庫寫一個(gè)例程,幾十行就可以解決RTC

審核編輯:湯梓紅
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5336

    瀏覽量

    120228
  • RTC
    RTC
    +關(guān)注

    關(guān)注

    2

    文章

    538

    瀏覽量

    66460
  • 庫函數(shù)
    +關(guān)注

    關(guān)注

    0

    文章

    177

    瀏覽量

    33970
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    原創(chuàng):sam4s16c的寄存器配置基礎(chǔ)教程---RTC配置

    用于sam4s系列??床欢淖约鹤屑?xì)研究Datasheet吧。個(gè)人的愛好是喜歡寄存器直接配置??垂俜降膸欤珌y,太累。不喜歡拿來主義。第六部分配置RTC首先,停止
    發(fā)表于 12-01 11:26

    庫函數(shù)寄存器的區(qū)別

    0. 庫函數(shù)寄存器的區(qū)別本質(zhì)上是一樣的??梢栽?b class='flag-5'>庫函數(shù)模板里面,直接操作寄存器,因?yàn)楣俜綆?b class='flag-5'>相關(guān)頭文件有
    發(fā)表于 08-10 06:23

    怎么通過庫函數(shù)來實(shí)現(xiàn)相關(guān)寄存器配置

    看門狗的原理是什么?與獨(dú)立看門狗相關(guān)聯(lián)的寄存器有哪些?怎么通過庫函數(shù)來實(shí)現(xiàn)相關(guān)寄存器配置
    發(fā)表于 08-11 06:54

    RTC時(shí)鐘詳細(xì)步驟

    RTC時(shí)鐘詳細(xì)步驟RTC概述RTC相關(guān)庫函數(shù)
    發(fā)表于 08-18 06:41

    RTC相關(guān)常用寄存器配置步驟

    。RTC還包含用于管理低功耗模 式的自動(dòng)喚醒單元RTC原理框圖:RTC相關(guān)常用寄存器RTC日歷
    發(fā)表于 01-13 07:11

    STM32串口寄存器庫函數(shù)配置方法

    STM32串口寄存器庫函數(shù)配置方法STM32常用寄存器庫函數(shù)串口配置一般
    發(fā)表于 02-22 06:22

    為什么RTC_GPIO_PINx寄存器中的RTC_IO_TOUCH_PADx_TO_GPIO位的定義和控制位說明?

    在技術(shù)參考手冊(cè)中描述RTC GPIO 與 RTC pad之間的連接控制寄存器, 每個(gè)pad 的模擬和RTC 功能是由RTC_GPIO_PIN
    發(fā)表于 04-24 07:45

    《振南電子STM32視頻教程》第十四講:RTC和BKP

    [第14講] RTC和BKP(72分鐘),由何強(qiáng)主講.本課主要講解:(1).RTC模塊要點(diǎn)講解;(2).RTC寄存器講解;(3).BKP特點(diǎn);(4).BKP
    發(fā)表于 10-09 16:22 ?1190次閱讀

    STM32單片機(jī)RTC時(shí)鐘的使用方法及步驟

    系數(shù)等 根據(jù)需要配置時(shí)鐘,日期,鬧鐘,喚醒,輸出,時(shí)間戳,備份寄存器等模塊 根據(jù)需要配置和打開中斷,其中 RTC Alarm ——EXTI line 17
    發(fā)表于 02-11 10:00 ?3.5w次閱讀
    STM32單片機(jī)<b class='flag-5'>RTC</b>時(shí)鐘的使用方法及<b class='flag-5'>步驟</b>

    STM32庫函數(shù)寄存器應(yīng)該如何操作

    從開始接觸51單片機(jī),到現(xiàn)在開始轉(zhuǎn)型學(xué)習(xí)功能更加強(qiáng)大的STM32f407系列,學(xué)習(xí)過程中引入了庫函數(shù)及相應(yīng)操作,當(dāng)時(shí)趕著進(jìn)度做點(diǎn)東西出來,有點(diǎn)不求甚解?,F(xiàn)在返回來求索:相比于原來51單片機(jī)的寄存器
    發(fā)表于 09-10 17:26 ?3次下載
    STM32<b class='flag-5'>庫函數(shù)</b>和<b class='flag-5'>寄存器</b>應(yīng)該如何操作

    如何搭建寄存器的工程環(huán)境詳細(xì)方法步驟說明

    本文檔的主要內(nèi)容詳細(xì)介紹的是如何搭建寄存器的工程環(huán)境詳細(xì)方法步驟說明。
    發(fā)表于 09-19 08:00 ?0次下載
    如何搭建<b class='flag-5'>寄存器</b>的工程環(huán)境<b class='flag-5'>詳細(xì)</b>方法<b class='flag-5'>步驟</b><b class='flag-5'>說明</b>

    STM32F4 HAL庫函數(shù)說明下載

    STM32F4 HAL庫函數(shù)說明下載
    發(fā)表于 05-26 09:27 ?78次下載

    【STM32】RTC詳解

    00. 目錄文章目錄00. 目錄01. RTC概述02. RTC主要特性03. RTC部分功能3.1 時(shí)鐘和預(yù)分頻3.2 實(shí)時(shí)時(shí)鐘和日歷04. R
    發(fā)表于 12-04 17:21 ?26次下載
    【STM32】<b class='flag-5'>RTC</b>詳解

    2021-04-17 STM32串口寄存器庫函數(shù)配置

    STM32串口寄存器庫函數(shù)配置方法STM32常用寄存器庫函數(shù)串口配置一般
    發(fā)表于 12-28 19:13 ?7次下載
    2021-04-17  STM32串口<b class='flag-5'>寄存器</b><b class='flag-5'>庫函數(shù)</b><b class='flag-5'>配置</b>

    RTC時(shí)鐘源和RTC寄存器的基本知識(shí)

    RTC控制寄存器 (RTC_CRH, RTC_CRL)
    的頭像 發(fā)表于 06-10 08:53 ?7647次閱讀
    <b class='flag-5'>RTC</b>時(shí)鐘源和<b class='flag-5'>RTC</b><b class='flag-5'>寄存器</b>的基本知識(shí)
    RM新时代网站-首页