<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

STM32F0xx_ RTC實時時鐘配置詳細過程

黃工的嵌入式技術圈 ? 來源:黃工的嵌入式技術圈 ? 2020-04-07 11:50 ? 次閱讀

Ⅰ、概述

今天總結RTC(Real Time Clock)實時時鐘相關的知識,順帶將BKP簡單總結一下。

STM32的RTC模塊和時鐘配置系統(RCC_BDCR寄存器)處于后備區域,即在系統復位或從待機模式喚醒后, RTC的設置和時間維持不變。

STM32F0的RTC模塊和F1的RTC模塊最大區別在于F0模塊中有“DATE”和“TIME”寄存器,也就是可以直接讀取寄存器里面的值,而F1是秒計數寄存器的值,需要通過相關算法下才能得到時間的值。

本文提供的軟件工程里面還包含一個BKP模塊,主要是用于掉電保持RTC數值(第一次上電初始化RTC,后面就不用初始化)。例程是在第一次初始化RTC值為:2016年6月5日 周七 1200(自己可修改)。之后每秒讀取一次,并通過串口打印出來。這里可以設置秒中斷,不用軟件等待1秒才去讀取。

Ⅱ、下載

文章提供的“軟件工程”都是在硬件板子上進行多次測試、并保證沒問題才上傳至360云盤,請放心下載測試,如有問題請檢查一下你的板子是否有問題。

ST標準外設庫和參考手冊、數據手冊等都可以在ST官網下載,你也可以到我的360云盤下載。關于F0系列芯片的參考手冊有多個版本(針對F0不同芯片),但有一個通用版本,就是“STM32F0x128參考手冊V8(英文)2015-07”建議參考該手冊,以后如果你換用一種型號芯片也方便了解。

今天的軟件工程下載地址(360云盤):

https://yunpan.cn/cSabGUUmvGUiN訪問密碼 8eee

STM32F0xx的資料可以在我360云盤下載:

https://yunpan.cn/cS2PVuHn6X2Bj訪問密碼 8c37

Ⅲ、準備工作

建議準備F0的參考手冊和數據手冊,方便查閱相關知識,沒有的請到ST官網或到我360云盤下載。

今天總結的軟件工程是基于“TIM基本延時配置詳細過程”修改而來,因此需要將該軟件工程下載準備好。我每次都是提供整理好的軟件工程供大家下載,但是,如果你是一位學習者,建議自己親手一步一步操作:打開工程 -> 新建文件(rtc.c rtc.h) -> 添加相關文件到工程中 -> 添加源代碼。

Ⅳ、RTC原理


通過RTC時鐘進來分頻之后達到1秒(1Hz),沒相應一次時間更新RTC時鐘寄存器(RTC_TR、RTC_DR),我們讀取的數字就會更改。如果配置了中斷,相應事件的時候,中斷也會響應。如果配置了鬧鐘,同樣達到了鬧鐘設定的值也會響應鬧鐘。

Ⅴ、代碼描述

①RCC時鐘


該函數位于bsp.c文件下面;

RCC_APB1Periph_PWR時鐘的電源管理的時鐘,RTC屬于后備管理區域。還有一個時鐘就是RTC時鐘,RTC時鐘可以LSI和LSE,我定義了一個選擇(請看源代碼)。

我個人習慣第一步配置時鐘,ST官方提供的例程也是把配置時鐘放在前面。關于RCC時鐘的配置比較重要,有好幾次我就是由于忘記配置相應RCC時鐘,讓我找了很久的問題,最后才發現是RCC時鐘沒有配置。

注意:

外設時鐘不要隨便添加,比如:RCC_APB1外設不要配置在RCC_APB2時鐘里面【如:RCC_APB2PeriphClockCmd(RCC_AHBPeriph_DMA1, ENABLE);這樣能編譯過,但是錯誤的】

我每次都提醒RCC時鐘,是因為很多人就是因為時鐘而導致軟件運行有問題,所以,提醒更多人要注意配置RCC.

②RTC配置


該函數位于rtc.c文件下面;

注意:

這里需要定義使用哪一個時鐘,我提供工程是使用內部LSI,如果你有LSE外部時鐘,也可以定義使用外部時鐘。

③RTC初始化配置


該函數位于rtc.c文件下面;

由于RTC屬于后備區域,為了方便,這里同時也使用BKP的功能,就是防止軟件每次復位都初始化時鐘,這里寫入后備區域BKP一個標志位,第一次才初始化,后面(只要VBAT, 后備區域有點)都不需要重新初始化了。

④設置RTC時鐘接口函數


該函數位于rtc.c文件下面;

這個函數是我自己封裝的,主要是把日期Date 和 時間Time封裝在一起了,方便一次性操作。

⑤讀RTC時鐘接口函數


該函數位于rtc.c文件下面;

這個函數也是把日期Date 和 時間Time封裝在一起了,方便一次性操作。這種關于結構體的知識建議不會的人嘗試著使用一下結構體,應用結構在C語言中是比較重要的一塊。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • ST
    ST
    +關注

    關注

    32

    文章

    1102

    瀏覽量

    128286
  • RTC
    RTC
    +關注

    關注

    2

    文章

    493

    瀏覽量

    65574
  • STM32F0
    +關注

    關注

    0

    文章

    61

    瀏覽量

    17013
收藏 人收藏

    評論

    相關推薦

    RTC實時時鐘的基本概念和工作原理

    精確的實時時間,并為電子系統提供精確的時間基準。本文將詳細闡述RTC實時時鐘的基本概念、工作原理以及其在現代電子設備中的應用。
    的頭像 發表于 05-27 15:43 ?352次閱讀

    基于RASC的keil電子時鐘制作(瑞薩RA)(7)----配置RTC時鐘及顯示時間

    本文將詳細講解如何借助e2studio來對瑞薩微控制器進行實時時鐘RTC)的設置和配置,以便實現日歷功能和一秒鐘產生的中斷,從而通過串口輸出實時
    的頭像 發表于 12-01 15:06 ?416次閱讀
    基于RASC的keil電子<b class='flag-5'>時鐘</b>制作(瑞薩RA)(7)----<b class='flag-5'>配置</b><b class='flag-5'>RTC</b><b class='flag-5'>時鐘</b>及顯示時間

    電子時鐘制作(瑞薩RA)(6)----配置RTC時鐘及顯示時間

    本文將詳細講解如何借助e2studio來對瑞薩微控制器進行實時時鐘RTC)的設置和配置,以便實現日歷功能和一秒鐘產生的中斷,從而通過串口輸出實時
    的頭像 發表于 12-01 14:09 ?520次閱讀
    電子<b class='flag-5'>時鐘</b>制作(瑞薩RA)(6)----<b class='flag-5'>配置</b><b class='flag-5'>RTC</b><b class='flag-5'>時鐘</b>及顯示時間

    Arduino篇—實時時鐘

    DS1307時鐘模塊:** DS1307串行實時時鐘RTC)是低功耗,全二進制編碼的十進制(BCD)時鐘/日歷以及56字節的NV SRAM。
    的頭像 發表于 11-01 16:49 ?1248次閱讀
    Arduino篇—<b class='flag-5'>實時時鐘</b>

    AT32F4xx RTC/ERTC時鐘選擇

    AT32F4xx RTC/ERTC 時鐘選擇演示AT32F4xx RTC/ERTC 時鐘選擇。
    發表于 10-26 06:24

    CW32實時時鐘RTC)介紹

    CW32實時時鐘RTC)介紹
    的頭像 發表于 10-24 15:36 ?645次閱讀
    CW32<b class='flag-5'>實時時鐘</b>(<b class='flag-5'>RTC</b>)介紹

    STM32速成筆記(9)—RTC

    RTC(Real Time Clock)實時時鐘,它是一個獨立的定時器。
    的頭像 發表于 10-24 14:41 ?504次閱讀
    <b class='flag-5'>STM32</b>速成筆記(9)—<b class='flag-5'>RTC</b>

    實時時鐘RTC):在多樣化應用中保持準確時間

    實時時鐘RTC)是眾多電子設備和系統中的關鍵組件,默默地滴答著以確保時間的準確性。這些專用電路在各種應用中發揮著確保精確計時的基本作用,范圍從消費類電子產品到關鍵的工業流程。在本文中,我們將探討RTC是什么,它如何保持時間的準
    的頭像 發表于 09-20 15:53 ?1804次閱讀
    <b class='flag-5'>實時時鐘</b>(<b class='flag-5'>RTC</b>):在多樣化應用中保持準確時間

    STM32F2實時時鐘RTC

    RTC系統框圖和組件? 時鐘源和分頻器? 硬件日歷和警報? 自動喚醒定時器? 特色功能? 數字粗略校準? 參考時鐘? 外部引腳上的導出和導入功能? 輸出:警報、定時信號、校準時鐘? 輸
    發表于 09-13 07:07

    FPGA零基礎學習之Vivado-RTC實時時鐘系統設計

    及打算進階提升的職業開發者都可以有系統性學習的機會。 系統性的掌握技術開發以及相關要求,對個人就業以及職業發展都有著潛在的幫助,希望對大家有所幫助。本次帶來Vivado系列,RTC實時時鐘系統設計。話
    發表于 09-04 20:36

    基于FPGA的RTC實時時鐘系統設計

    RTC(real time clock)實時時鐘,在電腦、手機等電子產品中都有,應用較多。它的主要作用就是,在產品斷電之后,時間還可以繼續走數。這樣我們在重新使用電子產品時,時間仍然正確。芯片本身可以通過紐扣電池供電,接下來我們一起學習一下
    的頭像 發表于 08-23 09:29 ?740次閱讀
    基于FPGA的<b class='flag-5'>RTC</b><b class='flag-5'>實時時鐘</b>系統設計

    STM32 RTC實時時鐘(二)

    上次實驗完成了對實時時鐘的基本功能——計時的實驗,這次在計時的基礎上對RTC的可編程鬧鐘的功能進行測試。
    的頭像 發表于 07-22 15:43 ?1252次閱讀
    <b class='flag-5'>STM32</b> <b class='flag-5'>RTC</b><b class='flag-5'>實時時鐘</b>(二)

    STM32 RTC實時時鐘(一)

    STM32處理器內部集成了實時時鐘控制器(RTC),因此在實現實時時鐘功能時,無須外擴時鐘芯片即可構建
    的頭像 發表于 07-22 15:41 ?3261次閱讀
    <b class='flag-5'>STM32</b> <b class='flag-5'>RTC</b><b class='flag-5'>實時時鐘</b>(一)

    DA1468x SoC 的實時時鐘(RTC) 概念

    DA1468x SoC 的實時時鐘 (RTC) 概念
    發表于 07-06 19:27 ?0次下載
    DA1468x SoC 的<b class='flag-5'>實時時鐘</b>(<b class='flag-5'>RTC</b>) 概念

    為什么我們需要一個單獨的RTC?RTC實時時鐘的特點和應用

    你知道RTC實時時鐘)嗎?即使你不知道它長什么樣,它也可以說是安裝在我們身邊所有電子產品中的一種設備,它的主要目的是“報時”。告訴這個時間不僅僅意味著“現在幾點了?”例如,根據RTC被勾選的時間獲取位置信息?;蛘吣憧梢栽诠潭ǖ?/div>
    的頭像 發表于 07-06 18:22 ?4648次閱讀
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>