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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

【STM32】学习笔记RTC日历基础应用问题分析

發布時間:2025/4/5 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【STM32】学习笔记RTC日历基础应用问题分析 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

▲?點擊上方?關注STM32?

RTC,Real_Time Clock,即實時時鐘,在許多電子系統中都能看到實時時鐘的存在。

今天是第6篇分享,《STM32學習筆記》之RTC日歷基礎應用問題分析

每塊STM32內部都集成了一個RTC模塊,是一個獨立的定時器/計數器,具有計數、時鐘和鬧鐘等功能。

STM32 RTC 基礎內容

STM32內部集成的RTC相當于一個TIM,具有計數的功能,但和TIM有一些區別,比如供電來自備份區域,可作為低功耗模式自動喚醒單元等。

STM32的RTC除F1系列不具有BCD寄存器(日歷功能)之外,其他系列的RTC大同小異,本文以F4系列RTC為例進行講述。

1. RTC時鐘源

RTC不具備自己輸出時鐘信號的功能,和TIM一樣由內部,或外部晶振提供時鐘源。

通常是由低速外部晶振(LSE)32.768 kHz,或者低速內部晶振(LSI)提供。內部晶振誤差大,如果要求高精度需使用外部晶振。

當然,還可以使用高速外部晶振(HSE)的分頻信號作為時鐘源,但該時鐘源有最高頻率限制。

2. RTC日歷

RTC的日歷功能算是一個比較重要的功能,但是在早期的F1系列中不具備該功能,需要結合軟件計算才能實現日期和時間的功能。

除F1系列的RTC自生具備日歷功能,即具有日期、時間、亞秒等于日歷相關的寄存器,只需要直接讀取寄存器即可獲取日歷信息。

同時,系統可以自動將月份的天數補償為 28、 29(閏年)、 30 和 31 天。并且還可以進行夏令時補償。

3. RTC鬧鐘

RTC鬧鐘功能也是一個比較實用的功能,大部分RTC都具有兩個可編程的鬧鐘:鬧鐘A和鬧鐘B。

RTC鬧鐘可產生中斷信號,也可以產生鬧鐘輸出信號。

4. RTC自動喚醒

有的產品需要周期性喚醒,比如間隔5秒喚醒一次休眠的芯片。

RTC自動喚醒由 16 位可編程自動重載遞減計數器生成,通過 WUTE 位可擴展至17位。如果頻率為1Hz,則自動喚醒時間可以 1s 到 36h 左右。

以上是重點知識點,更多細節請查閱芯片對應的參考手冊。

STM32 RTC?參數配置

STM32 的RTC使用比較方便,不像TIM各種復雜的關系,可以通過STM32CubeMX很簡單就能使用RTC的各項功能。

下面以F4、Cube配置日歷為例。

1.?配置時鐘源

2. 配置分頻值

通過32.768kHz信號得到1Hz分辨率,可參考例程默認分頻配置:

32768/128/256 = 1.

備注:從0開始分頻,所以配置的分頻值需要減一:127 = 128 - 1, 255 = 256 - 1.

3. 初始化時間和日期

通過Cube工具初始化時間、日期以及格式:

以上就是通過Cbue工具配置的參數,生成的代碼:

static void MX_RTC_Init(void) {/*?USER?CODE?BEGIN?RTC_Init?0?*//* USER CODE END RTC_Init 0 */RTC_TimeTypeDef sTime = {0};RTC_DateTypeDef sDate = {0};/*?USER?CODE?BEGIN?RTC_Init?1?*//* USER CODE END RTC_Init 1 *//** Initialize RTC Only */hrtc.Instance = RTC;hrtc.Init.HourFormat = RTC_HOURFORMAT_24;hrtc.Init.AsynchPrediv = 127;hrtc.Init.SynchPrediv = 255;hrtc.Init.OutPut = RTC_OUTPUT_DISABLE;hrtc.Init.OutPutPolarity = RTC_OUTPUT_POLARITY_HIGH;hrtc.Init.OutPutType = RTC_OUTPUT_TYPE_OPENDRAIN;if (HAL_RTC_Init(&hrtc) != HAL_OK){Error_Handler();}/*?USER?CODE?BEGIN?Check_RTC_BKUP?*//* USER CODE END Check_RTC_BKUP *//** Initialize RTC and set the Time and Date */sTime.Hours = 0x0;sTime.Minutes = 0x0;sTime.Seconds = 0x0;sTime.DayLightSaving = RTC_DAYLIGHTSAVING_NONE;sTime.StoreOperation = RTC_STOREOPERATION_RESET;if (HAL_RTC_SetTime(&hrtc, &sTime, RTC_FORMAT_BCD) != HAL_OK){Error_Handler();}sDate.WeekDay = RTC_WEEKDAY_MONDAY;sDate.Month = RTC_MONTH_JANUARY;sDate.Date = 0x1;sDate.Year = 0x0;if (HAL_RTC_SetDate(&hrtc, &sDate, RTC_FORMAT_BCD) != HAL_OK){Error_Handler();}/** Enable the WakeUp */if (HAL_RTCEx_SetWakeUpTimer(&hrtc, 0, RTC_WAKEUPCLOCK_RTCCLK_DIV16) != HAL_OK){Error_Handler();}/*?USER?CODE?BEGIN?RTC_Init?2?*//*?USER?CODE?END?RTC_Init?2?*/ }

RTC通過Cube工具配置比較省心,如果使用標準外設庫進行配置,就需要注意很多細節,簡單參考官方提供例程。

STM32 RTC 常見問題

STM32內部RTC模塊應用場景相對簡單,不像TIM有復雜的配置以及關聯性。但使用RTC仍需要注意一些細節問題。

問題一:RTC時間不準

有不少工程師都遇到過RTC計數一天,相差幾秒甚至幾十秒的情況。導致時間不準最根本的原因是時鐘源,還有時鐘分頻值。

低速內部晶振(LSI)的誤差相對較大,特別是溫差變化較大的環境。

還有關于時鐘分頻值,上面已經提到了分頻128,實際配置參數應該為127.

解決辦法:使用更高精度低速外部晶振、校正、軟件配置正確分頻值。

問題二:RTC時鐘配置失敗

RTC的供電來源備份區域電源,操作RTC之前,需要使能后備區域操作。如果沒有這一步操作,你會發現操作低速時鐘、RTC可能會失敗。

當然,出現這種情況,一般是使用標準外設庫配置導致的失敗。

解決辦法:使用Cube工具,或參考官方例程初始化代碼。

問題三:RTC日歷不更新的問題

在我們的RTC應用中,經常有人反映在做日歷數據讀取操作時發現日歷不更新的情形。其實,STM32? RTC的日歷寄存器由兩個組成,為了保證讀取時間點的一致性,先讀時分秒然后讀日期做為一個完整的日歷讀取操作。在讀取TIME【時分秒】后,硬件會將當前日歷數據鎖住,直到DATE【年月日】寄存器被讀取后釋放。否則會遇到讀取日歷時發生數據不更新的情況。

?

解決辦法:對于RTC日歷的讀取要注意讀取動作的完整性,讀了TIME還要讀取DATE才算一個完整操作,以保持讀取時間的一致性。

總結

以上是生活随笔為你收集整理的【STM32】学习笔记RTC日历基础应用问题分析的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 黄色a视频 | 玖玖色在线 | 国产自偷 | 日韩精品极品视频在线观看免费 | 浪荡奴双性跪着伺候 | 少妇被黑人到高潮喷出白浆 | 五月丁香综合激情六月久久 | 亚洲第十页 | 国产乱来视频 | 一卡二卡三卡在线视频 | 看了下面会湿的视频 | 全黄毛片 | 强制憋尿play黄文尿奴 | 国产一线二线在线观看 | 日本五十肥熟交尾 | av一片 | 黄色一级图片 | 国产精品久久久久久久久免费相片 | 中文字幕一区二区三区四区欧美 | 一级黄色免费大片 | 一级黄色免费大片 | 久久青青 | 色窝窝无码一区二区三区成人网站 | 午夜精品久久久 | 亚洲欧美专区 | 夜夜夜操 | 在线青草 | 少妇把腿扒开让我舔18 | 欧美 日韩 国产 一区二区三区 | 国产一级做a爰片久久毛片男 | 娇小的粉嫩xxx极品 国产精品人人爽人人爽 | 果冻传媒18禁免费视频 | 艹男人的日日夜夜 | 日韩中文字幕综合 | 97精品人妻一区二区三区在线 | 成人黄色片视频 | 看片网站在线观看 | 黑人与日本少妇高潮 | www.555国产精品免费 | 天天av综合| 欧美成人h版在线观看 | 欧美呦交 | 午夜宫 | 美女考逼 | 欧美在线一区二区三区 | 91视频在线观看网站 | 98久久 | 91午夜剧场 | 一区在线免费 | 天天爱天天舔 | 国产主播在线播放 | 欧美日本日韩 | 亚洲六月婷婷 | 亚洲私人网站 | 一区二区三区四区五区六区 | 小辣椒导航 | 污导航在线 | 久色精品 | 天堂av资源在线 | 老女人毛片50一60岁 | 色av资源| 91视频免费播放 | 91高清视频在线观看 | 久草视频在线免费 | www.xxxx欧美 | 日本一级黄色 | 亚洲国产精品一区 | 歪歪视频在线观看 | 国产视频一区二区三区四区五区 | 亚洲欧美国产视频 | 亚洲一区二区视频 | 在线观看69 | 日批视频 | 亚洲人视频在线观看 | 欧美一区二区激情 | 涩涩网址 | 久久精品无码中文字幕 | 在线色网址| 欧美性生活在线视频 | 亚洲图片自拍偷拍区 | 色综合综合色 | 中文字幕亚洲一区 | 毛片av在线观看 | 理想之城连续剧40集免费播放 | 国产无遮挡免费观看视频网站 | 樱桃香蕉视频 | 亚洲欧美一区二区三区不卡 | 一区二区三区成人 | 日本乱论视频 | 天堂影视在线观看 | 久久高潮视频 | 蜜桃av一区| 色av免费| 一亲二脱三插 | 性欧美大战久久久久久久 | 女人一区二区三区 | 男男成人高潮片免费网站 | 中文字幕综合在线 | 成人三级在线看 |