日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

STM32 RTC实时时钟

發布時間:2025/3/21 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 STM32 RTC实时时钟 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

我用的是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的值。


二、時間是怎樣顯示出來的(簡析)
??????主函數中有這么兩條語句:
?? ???LCD_ShowString(60,130,200,16,16,"??? -? -? ");?????? ①
????? LCD_ShowString(60,162,200,16,16,"? :? :? ");????????? ②
????? 在看這三條語句(這里統稱”中間三條語句“):
??? ? LCD_ShowNum(60,130,calendar.w_year,4,16);??? ??? ??? ??? ??? ??? ??? ??? ??? ?
??? ? LCD_ShowNum(100,130,calendar.w_month,2,16);??? ??? ??? ??? ??? ??? ??? ??? ??? ?
??? ? LCD_ShowNum(124,130,calendar.w_date,2,16);
????? 和這三條語句(
這里統稱”最后三條語句“):
????? LCD_ShowNum(60,162,calendar.hour,2,16);??? ??? ??? ??? ??? ??? ??? ??? ??? ?
??? ? LCD_ShowNum(84,162,calendar.min,2,16);??? ??? ??? ??? ??? ??? ??? ??? ??? ?
????? LCD_ShowNum(108,162,calendar.sec,2,16);
????? 很顯然,中間三條語句是顯示年月日的對應①,最后三條語句是顯示時分秒的對應②。這些結構體成員都在初始化函數(RTC_Init();)中被賦值了,怎么賦值的,大家自己去研究吧。。。然后在硬件中,TR_CLK的每個時鐘周期都會觸發秒中斷,在秒中斷服務函數中又對時間進行了更新。
?????? 想顯示時間,是不是先得設置一個基礎時間,然后讓系統在基礎時間上,進行自加。
???????
第一步:設置一個基礎時間。在對時鐘進行配置時(在初始化函數(RTC_Init();中配置),里面有個RTC_Set();函數,此函數會你設置的年月日時分秒進行計算,算出從1970年到你設置那個時刻總共是多少秒(這博主也不知道為什么是1970年),然后把算出來的這個秒值賦給RTC_CNT計數器作為初值。
???????第二步:系統自己更新時間(自加)。時間是怎么更新的,這里給大家簡單提一下。。在更新函數(RTC_Get();)中,首先會讀取RTC_CNT計數器中的值,然后經過一番倒計算,計算出年月日時分秒和星期,分別賦值給那些時間的結構體變量。于是在主函數的while(1)中,會不斷的被秒中斷刷新時間,并顯示在LCD上。
?????? 這樣,一個完整的時鐘就顯示在LCD屏幕上了。大功告成!
???????
博主不才,大牛不喜勿噴哦~

總結

以上是生活随笔為你收集整理的STM32 RTC实时时钟的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 久久久久久久久久一区二区 | 免费人成年激情视频在线观看 | 超碰超在线| 国产精品免费久久久 | 免费不卡av在线 | 青青草视频污 | 免费观看毛片 | 国产一区二区小视频 | 久久精品无码av | a级片视频网站 | 午夜影院在线观看18 | 97一区二区三区 | 成人av综合 | 丁香啪啪| 四虎少妇做爰免费视频网站四 | 日韩一级片网址 | 亚洲乱码国产乱码精品精98午夜 | a级免费视频 | 国产麻豆久久 | 亚洲黄色一区二区三区 | 在线播放av网址 | 国产又粗又猛又爽又黄的网站 | 国产精品伦理一区 | 美日韩黄色片 | 国产福利片在线 | 黄色片在线免费观看 | 手机在线观看日韩av | 日本一二三不卡 | 午夜国产一区 | 亚洲免费视频网站 | 都市激情av | 人人爽av| 日韩亚洲国产精品 | 亚洲国产婷婷香蕉久久久久久99 | 亚洲欧美另类激情 | 视频在线一区二区 | 欧美成人区| 国产夫妻精品 | 亚洲欧美激情一区二区三区 | 亚洲精品免费在线 | 色综合五月 | 美女视频在线免费观看 | 欧洲亚洲视频 | 日本东京热一区二区 | 国产做爰免费视频观看 | 六月丁香啪啪 | 国产精品后入内射日本在线观看 | 亚洲午夜久久久久久久久久久 | chinese hd av | 久久精品无码专区 | 懂色av蜜臀av粉嫩av分享吧最新章节 | 91精品国产色综合久久不8 | 国产真实老熟女无套内射 | 久久综合第一页 | 伊人论坛| 亚洲三级小说 | 高清免费视频日本 | 天天插天天插 | 最新日韩在线 | 精品国产免费av | 黄色一级大片在线免费看产 | av最新天堂 | 国产日韩在线观看一区 | 中文字幕一二三四 | 欧美偷拍亚洲 | 久久理论视频 | 欧美视频在线免费 | 久久久久久久久久久国产 | 亚洲区一区二区 | 天天艹天天操 | 大象传媒成人在线观看 | 开心六月婷婷 | 亚洲色图制服丝袜 | 污视频网址 | 国产aaaaaa | 日韩精品短片 | 制服.丝袜.亚洲.中文.综合懂色 | 又黄又色的网站 | 老色驴综合网 | 少妇又色又紧又大爽又刺激 | 黄色a级片在线观看 | 国产美女福利在线 | 久久五月天综合 | 亚洲激情成人网 | 98色| 国产精品国产一区二区三区四区 | 亚洲精品白浆 | 伦伦影院午夜理论片 | 免费毛片av | 国产综合精品一区二区三区 | 原神女裸体看个够无遮挡 | 高清三区| 黑人操亚洲女人 | 91欧美在线视频 | 另一种灿烂生活 | 欧美精品在线观看 | 国产人成在线 | 美女穴穴| 67194午夜 |