娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

歷史上的今天

今天是:2024年12月26日(星期四)

正在發生

2018年12月26日 | STM32之RTC原理

發布者:HarmoniousSoul 來源: eefocus關鍵字:STM32  RTC原理 手機看文章 掃描二維碼
隨時隨地手機看文章

一、RTC時鐘框圖分析(重要)


先熟悉一下幾個知識點:


      1、STM32的實時時鐘(RTC)是一個獨立的定時器


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


RTC這章中,對RTC相關的寄存器的操作特別重要,我在這里不解釋了,請查閱手冊。。


先上圖!


RTC時鐘框圖


RTC時鐘框圖分為完全獨立的兩個部分:1、APB1接口部分(用來RTC相關的寄存器);2、RTC核心;

      

第一部分:APB1接口。注意:這里涉及到寄存器RTC_CRL中的RSF位,這位是寄存器的同步標志,具體內容去看STM32參考手冊RTC這一章。

      

第二部分:RTC核心。這里分為兩個模塊:1、RTC預分頻器模塊;2、一個32位的可編程計數器

      

下面開始分析第二部分:

       

先給大家介紹下后備區域的幾個特別重要的寄存器:

       

1、RTC_DIV(重要):RTC預分頻器余數寄存器。這個寄存器的作用是來獲得比秒鐘更加準確的時鐘(0.1s,0.01s),該寄存器是自減的,用來保存還需要多少個時鐘周期獲得一個秒信號。這里加上一個公式(STM32參考手冊里有):fTR_CLK=fRTCCLK/(PRL[19:0]+1)    到這里是書上的原話~!

       

解釋一下,RTC_DIV寄存器的值是由RTC_PRL(RTC預分頻器裝載寄存器)提供的,而RTC_DIV寄存器的時鐘頻率是由RTCCLK提供的(看圖)。比如我們把RTC_PRL值設為32767,則RTC_DIV寄存器的值也為32767,他和RTCCLK的時鐘頻率是一樣的(這里根據上面的公式,RTC_PRL加1,則RTC_DIV也加1)。RTCCLK的時鐘周期是1/32768(s),也就是每一個RTCCLK的時鐘周期,RTC_DIV自減1,直至到1s鐘后,被硬件重新裝載,也就是1s鐘減32768次。那他到底是怎么提供0.1s,甚至是0.01s的呢?

       

舉個例子就明白了。比如我想要得到1.12秒的這個時間,就要求RTC_DIV自減0.12/(1/32768)次。RTC_DIV只得到0.12s的時間,還有1s時間從哪兒來?他是TR_CLK提供的。這個問題會在下文講解。。→_→

       

2、RTC_PRL:RTC預分頻裝載寄存器。這個寄存器有兩個作用:1、提供給RTC_DIV的重新裝載值;2、設置時鐘分頻系數。


       第一個作用不講了。第二個作用:設置時鐘分頻系數。比如我們使用32.768KHz的晶振作為時鐘輸入,那么我們配置這個寄存器值位32767,就可以得到1s鐘的計數頻率(32768/(32767+1),單位(HZ))。


       3、RTC_CNT(重要):RTC計數器寄存器。這個寄存器較簡單,用來記錄秒鐘值。如果之前對RTC_CR(控制寄存器),的相關中斷允許位配置的話,RTC_CNT寄存器可以產生一個溢出中斷。


       4、RTC_ALR:RTC鬧鐘寄存器。從圖中就可以看出來,很簡單。用來標記鬧鐘產生時間,如果RTC_CNT的值和RTC_ALR的值相等的話,并使能中斷的話(在RTC_CR(控制寄存器)中配置),會產生一個鬧鐘中斷。


       后備區域的寄存器就給大家介紹到這兒。相比大家通過上面的介紹結合框圖,頭腦里面應該有個大致流程了吧。沒有~!?臥槽~那就給大家理一遍思路→_→


       首先外部加進來一個時鐘信號RTCCLK(32.768K),然后設置RTC_PRL的分頻系數為32767,得到一個秒時鐘信號TR_CLK(1HZ)。當TR_CLK每過一個時鐘周期,產生一個RTC_Second(秒鐘中斷),同時RTC_CNT計數器(記錄秒值)加1。如果要求更精準的時間,還可以在RTC_CR寄存器的RSF位被置1時去讀RTC_DIV的值。


關鍵字:STM32  RTC原理 引用地址:STM32之RTC原理

上一篇:STM32F1RCC時鐘配置總結
下一篇:stm32 系統時鐘配置

推薦閱讀

數字世界之所以存在,是因為我們可以輕松地創建、交換、存儲、檢索和操作二進制信息。如果電子產品仍然完全依賴模擬數據,那就不那么先進了;行業還沒有創造一種方法來可靠地存儲原始形式的模擬數據,至少沒有一種能夠與數字存儲的密度和耐久性相當的方式,而且在未來也不太可能在這個方向上投入太多的精力。雖然這需要將信息在數字和模擬間相互轉換,但數...
12月20日,國家電網有限公司在北京召開“穩投資保民生,推動電網高質量發展”新聞發布會,公布了2019年電網投資概況,部署了2020年電網投資重點。國家電網有限公司表示,將貫徹新發展理念,堅持科學投資、穩健投資、精準投資,充分發揮電網在穩增長、調結構、惠民生中的先導和帶動作用,助力打贏三大攻堅戰,支持區域協調發展,進一步優化營商環境,使人...
據臺媒工商時報報道,被動元件供給趨緊,相關價格何時調漲備受關注。對此,華新科表示,明年第2季前,該公司不會調漲MLCC及芯片電阻報價。報道指出,圣誕節和春節前備貨需求涌現,加上車市復蘇,讓被動元件廠淡季不淡,但上游原物料價格漲不停,另外各廠均面臨缺工問題無法全產。同時受制于合規供應廠商數量、擴產能力和生產設備供應有限,致使被動元件供...
日前,全志科技在投資者互動平臺表示,公司基于RISC- V架構內核開發的D1芯片已經實現量產,搭載這一芯片的開發板已經陸續開始銷售,可根據客戶需求適配包括鴻蒙在內的多個操作系統。此前全志科技披露,D1處理器芯片可廣泛應用于智慧城市、智能汽車、智能商顯、智能家電、智能辦公等多個領域市場。據了解,全志科技D1芯片與平頭哥玄鐵906密切合作,結合其...

史海拾趣

問答坊 | AI 解惑

選擇Stellaris(群星)系列微控制器的理由

呵呵 雖然是流明被收購前的,但是有些參考價值: 為何是Cortex-M3? Cortex-M3是內核的ARM新型V7指令集結構系列的微控制器版本: 􀁺 優化的單周期Flash使用 􀁺 確定的快速中斷處理:通常是12個周期,使用末尾連鎖(tail-ch ...…

查看全部問答∨

求助

各位朋肥,我是一個單片機愛好者,前幾年學了點單片機技術,可是一直沒有實踐機會,現在我花錢買了一個學習板,想實踐一下可是我從網絡上下載了KEIL 8.52版,并照說明安裝,同時出在C:\\KEL\\C51\\BIN盤安裝了CCKELVXX修正了DEBUG,軟件也提示安裝成功 ...…

查看全部問答∨

使用toronado編譯時出現如下錯誤請問如何解決?

cc386: Internal compiler error: program cc1 got fatal signal 5…

查看全部問答∨

單片機

atmll怎么控制IO口! …

查看全部問答∨

PCB問題

想做板子,想問一下 1、S3C2410能用雙面板做嗎? 2、S3C2440能用雙面板做嗎? 雙面板比較便宜一些,請做過的朋友給解答一下。 …

查看全部問答∨

急!急!急!請教一個關于udp通信的問題

我想在一個多任務程序中用udp方式實現任務之間的通信,應該屬于在本地機上實現通信,不知道怎么做啊,把ip設成一樣的127.0.0.1就可以了嗎?…

查看全部問答∨

protel中創建PCB庫文件的問題

我想在protel DXP創建PCB零件庫,我想知道一個元件,你怎么知道他的實際尺寸與在電路板上畫出來的尺寸一樣呢,也就是說,我的PCB元件大小能對得上實際大小呢?…

查看全部問答∨

在TI的ccs下開發LM3S的問題

問下,大家有誰在ccs下開發LM3S?不用什么仿真器?FT2232是否可以?驅動如何安裝?正在做的朋友分享一下經驗。…

查看全部問答∨

請問香版,st72324如何進行位操作,cosmicc如何操作,急

st72324是不是在指定的區域才能位操作cosmic c下有沒有直接的操作指令…

查看全部問答∨

請問版主:STM32的usb如何提高虛擬串口的波特率?

我希望讓它以12Mbps狂奔! 呵呵 請教公主三個問題: 1、在pc的設備管理器里虛擬串口的波特率設置最高只能達到:115200  怎么提高? 2、如何在下位機設置虛擬串口的波特率? 3、 vcpdriver_v1.1_setup.exe 是干什么用的? 多次 ...…

查看全部問答∨
小廣播
設計資源 培訓 開發板 精華推薦

最新單片機文章
何立民專欄 單片機及嵌入式寶典

北京航空航天大學教授,20余年來致力于單片機與嵌入式系統推廣工作。

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 宁海县| 岢岚县| 游戏| 三穗县| 永清县| 高雄县| 吕梁市| 沂水县| 九龙县| 夏津县| 顺昌县| 恭城| 北辰区| 东乡族自治县| 栾城县| 瓮安县| 克山县| 榕江县| 常山县| 榆中县| 天长市| 庆城县| 扬州市| 湘西| 新安县| 新晃| 珲春市| 贡嘎县| 牟定县| 堆龙德庆县| 武邑县| 高唐县| 龙州县| 吴忠市| 卫辉市| 岳阳市| 砚山县| 庄浪县| 保定市| 民权县| 洪雅县|