日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > > 硅農(nóng)亞歷山大
[導(dǎo)讀]實時時鐘(Real-TimeClock,RTC)常用于制作時鐘日歷。RTC電路分屬于兩個電源域:備份域和VDD電源域。RTC的核心計數(shù)部分在備份域中,可在VDD斷電VBAT供電時保持RTC的計數(shù),當(dāng)系統(tǒng)復(fù)位或者從待機模式喚醒時,RTC的設(shè)置和時間也都保持不變。本期內(nèi)容將通過一個顯...

實時時鐘(Real-Time Clock,RTC常用于制作時鐘日歷。RTC電路分屬于兩個電源域:備份域和VDD電源域。RTC的核心計數(shù)部分在備份域中,可在VDD斷電VBAT供電時保持RTC的計數(shù),當(dāng)系統(tǒng)復(fù)位或者從待機模式喚醒時,RTC的設(shè)置和時間也都保持不變。本期內(nèi)容將通過一個顯示當(dāng)前時間的例程帶領(lǐng)大家初步了解GD32VF103的RTC外設(shè)的使用方法。
系統(tǒng)環(huán)境


Windows 10-64bit
軟件平臺


NucleiStudio IDE 202102版或 PlatformIO IDE
硬件需求


RV-STAR開發(fā)板




GD32VF103的RTC電路




GD32VF103RTC電路包含兩個主要部分,分別是位于PCLK1時鐘域的APB接口和位于RTC時鐘域的RTC內(nèi)核


  • APB接口與APB1總線相連,包含一組寄存器,可通過APB1總線對其進行訪問。


  • RTC內(nèi)核包含兩個主要模塊,一個是RTC預(yù)分頻模塊,模塊包含一個20位可編程預(yù)分頻器,該分頻器可以通過對RTC時鐘源分頻產(chǎn)生SC_CLK,如果RTC_INTEN寄存器中的秒中斷標(biāo)志位被使能,在每個SC_CLK上升沿,RTC會產(chǎn)生一個秒中斷。另外一個模塊是一個32位可編程計數(shù)器,其數(shù)值可以被初始化為當(dāng)前系統(tǒng)時間。如果RTC_INTEN的鬧鐘中斷標(biāo)志位被使能,RTC會在系統(tǒng)時間等于鬧鐘時間(存儲于RTC_ALRMH/L寄存器)時產(chǎn)生一個鬧鐘中斷。



RTC的主要特征如下:


32位可編程計數(shù)器,用于計數(shù)運行時間


可編程的預(yù)分頻器,分頻系數(shù)最高可達2^20


獨立時鐘域:


  • PCLK1時鐘域


  • RTC時鐘域(該時鐘域必須比PCLK1時鐘至少慢4倍)


RTC時鐘源:


  • HXTAL時鐘除以128


  • LXTAL振蕩電路時鐘


  • IRC40K振蕩電路時鐘


可屏蔽的中斷源:


  • 鬧鐘中斷


  • 秒中斷


  • 溢出中斷





實驗部分



本期的實驗將使用RV-STAR的RTC外設(shè)實現(xiàn)顯示當(dāng)前時間的功能,例程的整體實現(xiàn)思路如下:


  • 首先需要初始化RTC外設(shè):使能時鐘源和配置預(yù)分頻系數(shù)等


  • 對于是否通過串口打印輸出當(dāng)前時間,聲明一個狀態(tài)變量并賦值為0


  • 然后用戶通過串口人工輸入當(dāng)前的時間對RTC的寄存器進行配置


  • RTC進入自動計數(shù)模式,每秒產(chǎn)生一個中斷,在中斷服務(wù)程序中將狀態(tài)變量置1


  • 主程序中運行一個循環(huán)體,判斷狀態(tài)變量的值,如果為1,則讀取RTC寄存器存儲的當(dāng)前時間然后打印輸出到串口


重點講解一下RTC外設(shè)的初始化配置,其代碼片段如下:
void rtc_configuration(void)
{
/* enable PMU and BKPI clocks */
rcu_periph_clock_enable(RCU_BKPI);
rcu_periph_clock_enable(RCU_PMU);

/* allow access to BKP domain */
pmu_backup_write_enable();
/* reset backup domain */
bkp_deinit();

/* enable LXTAL */
rcu_osci_on(RCU_LXTAL);
/* wait till LXTAL is ready */
rcu_osci_stab_wait(RCU_LXTAL);
/* select RCU_LXTAL as RTC clock source */
rcu_rtc_clock_config(RCU_RTCSRC_LXTAL);

/* enable RTC Clock */
rcu_periph_clock_enable(RCU_RTC);
/* wait for RTC registers synchronization */
rtc_register_sync_wait();
/* wait until last write operation on RTC registers has finished */
rtc_lwoff_wait();

/* enable the RTC second interrupt*/
rtc_interrupt_enable(RTC_INT_SECOND);
/* wait until last write operation on RTC registers has finished */
rtc_lwoff_wait();

/* set RTC prescaler: set RTC period to 1s */
rtc_prescaler_set(32767);
/* wait until last write operation on RTC registers has finished */
rtc_lwoff_wait();
}



由于使用RV-STAR板載的32.768K的晶振作為RTC時鐘源,因此配置時要選擇LXTAL,同時要注意預(yù)分頻系數(shù)的設(shè)置,另外每次對RTC的寫操作,均要等待寫入完成,例程其余部分的代碼均有詳細(xì)注釋,讀者們可以自行閱讀,相關(guān)代碼請參考RVMCU網(wǎng)站專欄對應(yīng)鏈接。


將完整代碼進行編譯上傳至RV-STAR開發(fā)板,打開串口終端(圖中使用PlatformIO的串口終端,也可以使用其他的串口工具):




然后在串口終端中依次輸入當(dāng)前時間的時、分、秒數(shù)據(jù),時鐘功能就正常開啟了,將會每秒刷新輸出一次當(dāng)前時間,如下圖:



如果按下復(fù)位按鈕,程序會重啟,但只要保持通電,RTC的計時會正常進行,數(shù)據(jù)也不會丟失,按下復(fù)位后的串口打印結(jié)果見下圖




復(fù)位后依然正常顯示當(dāng)前時間,說明RTC外設(shè)按照我們期望的功能在運行。如果拔掉USB數(shù)據(jù)線,供電完全切斷,那數(shù)據(jù)將會丟失,需要再次配置當(dāng)前時間。


有條件的讀者也可以嘗試將鋰電池及底座焊接到RV-STAR背面預(yù)留的焊接處,那樣即使USB數(shù)據(jù)線的供電切斷,RTC也可以依靠電池電源保存數(shù)據(jù)并持續(xù)計時。


由于GD32VF103的RTC外設(shè)較為簡單,硬件上僅有時鐘(時/分/秒)相關(guān)的寄存器,而沒有日歷相關(guān)的寄存器,因此如果要實現(xiàn)完整的日歷時鐘顯示,需要用軟件來實現(xiàn)日歷,留給讀者自行探索。




“RVMCU課堂”專欄已在社區(qū)開通如需獲取實驗源碼或有實驗相關(guān)問題掃碼進入即可






本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動電源

在工業(yè)自動化蓬勃發(fā)展的當(dāng)下,工業(yè)電機作為核心動力設(shè)備,其驅(qū)動電源的性能直接關(guān)系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護是驅(qū)動電源設(shè)計中至關(guān)重要的兩個環(huán)節(jié),集成化方案的設(shè)計成為提升電機驅(qū)動性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機 驅(qū)動電源

LED 驅(qū)動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設(shè)備的使用壽命。然而,在實際應(yīng)用中,LED 驅(qū)動電源易損壞的問題卻十分常見,不僅增加了維護成本,還影響了用戶體驗。要解決這一問題,需從設(shè)計、生...

關(guān)鍵字: 驅(qū)動電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動電源的公式,電感內(nèi)電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計 驅(qū)動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術(shù)之一是電機驅(qū)動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機驅(qū)動系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動汽車的動力性能和...

關(guān)鍵字: 電動汽車 新能源 驅(qū)動電源

在現(xiàn)代城市建設(shè)中,街道及停車場照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動電源 LED

LED通用照明設(shè)計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動電源

開關(guān)電源具有效率高的特性,而且開關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機重量也有所下降,所以,現(xiàn)在的LED驅(qū)動電源

關(guān)鍵字: LED 驅(qū)動電源 開關(guān)電源

LED驅(qū)動電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動電源
關(guān)閉