??實(shí)時(shí)時(shí)鐘是一個(gè)獨(dú)立的定時(shí)器。RTC模塊擁有一組連續(xù)計(jì)數(shù)的計(jì)數(shù)器,在相應(yīng)軟件配置下,可提供時(shí)鐘日歷的功能。修改計(jì)數(shù)器的值可以重新設(shè)置系統(tǒng)當(dāng)前的時(shí)間和日期。
??RTC模塊和時(shí)鐘配置系統(tǒng)(RCC_BDCR寄存器)處于后備區(qū)域,即在系統(tǒng)復(fù)位或從待機(jī)模式喚醒后,RTC的設(shè)置和時(shí)間維持不變。
??系統(tǒng)復(fù)位后,對(duì)后備寄存器和RTC的訪問被禁止,這是為了防止對(duì)后備區(qū)域(BKP)的意外寫操作。執(zhí)行以下操作將使能對(duì)后備寄存器和RTC的訪問:
設(shè)置寄存器RCC_APB1ENR的PWREN和BKPEN位,使能電源和后備接口時(shí)鐘
設(shè)置寄存器PWR_CR的DBP位,使能對(duì)后備寄存器和RTC的訪問。
??下面直接通過代碼來演示如何操作RTC。
static void RTC_NVIC_Config( void )
{
NVIC_InitTypeDef NVIC_InitStructure;
NVIC_InitStructure.NVIC_IRQChannel = RTC_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0x00;
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x00;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init( &NVIC_InitStructure );
}
//實(shí)時(shí)時(shí)鐘配置
//初始化RTC時(shí)鐘,同時(shí)檢測(cè)時(shí)鐘是否工作正常
//BKP->DR1用于保存是否第一次配置的設(shè)置
//返回0:正常
//其他:錯(cuò)誤代碼
u8 RTC_Init( void )
{
u8 temp = 0;
RCC_APB1PeriphClockCmd( RCC_APB1Periph_PWR | RCC_APB1Periph_BKP, ENABLE );
PWR_BackupAccessCmd( ENABLE ); //使能后備寄存器訪問
if( BKP_ReadBackupRegister( BKP_DR1 ) != 0x5055 ) //檢查是不是第一次配置時(shí)鐘
{
BKP_DeInit(); //復(fù)位備份區(qū)域
RCC_LSEConfig( RCC_LSE_ON ); //設(shè)置外部低速晶振(LSE),使用外設(shè)低速晶振
//檢查指定的RCC標(biāo)志位設(shè)置與否,等待低速晶振就緒
while( RCC_GetFlagStatus( RCC_FLAG_LSERDY ) == RESET && temp < 250 )
{
temp++;
delay_ms( 10 );
}
if( temp >= 250 )
return 1; //初始化時(shí)鐘失敗,晶振有問題
RCC_RTCCLKConfig( RCC_RTCCLKSource_LSE ); //設(shè)置RTC時(shí)鐘(RTCCLK),選擇LSE作為RTC時(shí)鐘
RCC_RTCCLKCmd( ENABLE ); //使能RTC時(shí)鐘
RTC_WaitForLastTask(); //等待最近一次對(duì)RTC寄存器的寫操作完成
RTC_WaitForSynchro(); //等待RTC寄存器同步
RTC_ITConfig( RTC_IT_SEC, ENABLE ); //使能RTC秒中斷
RTC_WaitForLastTask(); //等待最近一次對(duì)RTC寄存器的寫操作完成
RTC_EnterConfigMode(); // 允許配置
RTC_SetPrescaler( 32767 ); //設(shè)置RTC預(yù)分頻的值
RTC_WaitForLastTask(); //等待最近一次對(duì)RTC寄存器的寫操作完成
RTC_ExitConfigMode(); //退出配置模式
BKP_WriteBackupRegister( BKP_DR1, 0x5055 ); //向指定的后備寄存器中寫入用戶程序數(shù)據(jù)
}
else //系統(tǒng)繼續(xù)計(jì)時(shí)
{
RTC_WaitForSynchro(); //等待最近一次對(duì)RTC寄存器的寫操作完成
RTC_ITConfig( RTC_IT_SEC | RTC_IT_ALR, ENABLE ); //使能RTC秒中斷、鬧鐘中斷
RTC_WaitForLastTask(); //等待最近一次對(duì)RTC寄存器的寫操作完成
}
RTC_NVIC_Config(); //RCT中斷分組設(shè)置
return 0; //OK
}
//RTC時(shí)鐘中斷
//每秒鐘觸發(fā)一次
void RTC_IRQHandler( void )
{
if( RTC_GetITStatus( RTC_IT_SEC ) != RESET ) //秒鐘中斷
{
printf( "RTC INT!rn" );
}
//RTC_ClearITPendingBit(RTC_IT_SEC | RTC_IT_OW);
RTC_ClearITPendingBit( RTC_IT_SEC | RTC_IT_ALR );
RTC_WaitForLastTask();
}
??在設(shè)置RTC時(shí)首先要判斷一下RTC是否已經(jīng)初始化過了,因?yàn)橐话闶褂肦TC時(shí)都會(huì)有電池供電,RTC的時(shí)候只需要設(shè)置一次就行。當(dāng)系統(tǒng)關(guān)機(jī)后,只要電池有電,RTC就能正常工作,所以不需要每次開機(jī)都初始化一次時(shí)間,當(dāng)沒有初始化時(shí)初始化一次,初始化之后,以后開機(jī)就不需要再初始化了。為了標(biāo)記當(dāng)前設(shè)備是否已經(jīng)初始化了,手動(dòng)的給備份寄存器中寫入特定的值。每次單片機(jī)啟動(dòng)后就會(huì)讀取一次備份寄存器的值,當(dāng)備份寄存器中的值不是寫入的特定值,就說明當(dāng)前設(shè)備還沒有被初始化過,需要初始化一次。如果備份寄存器中的值是寫入的特殊值,就說明當(dāng)前設(shè)備已經(jīng)被初始化過了,不需要再初始化了。
??在初始化的時(shí)候,開啟RTC的秒中斷,這樣RTC每一秒就會(huì)中斷一次,在中斷函數(shù)中通過串口打印數(shù)據(jù)。當(dāng)程序運(yùn)行后在串口工具中就可以看到每隔1秒,就會(huì)打印一個(gè)字符串。
上一篇:STM32F103高級(jí)定時(shí)器使用
下一篇:STM32F103單片機(jī)讀取芯片自身ID
推薦閱讀
史海拾趣
在半導(dǎo)體行業(yè)中,供應(yīng)鏈的穩(wěn)定性和可靠性對(duì)于企業(yè)的生存和發(fā)展至關(guān)重要。晶岳電子深知這一點(diǎn),因此一直致力于與流片及封裝廠建立長期穩(wěn)定的合作關(guān)系。公司的晶圓流片合作伙伴包括大陸的CSMC、ASMC,臺(tái)灣的世界先進(jìn)等公司;封裝的合作伙伴則包括長電科技、上海芯哲等大陸上市企業(yè)。通過與這些合作伙伴的緊密合作,晶岳電子確保了產(chǎn)品質(zhì)量的穩(wěn)定性和交貨期的可靠性,為公司的持續(xù)發(fā)展提供了有力保障。
這五個(gè)故事只是上海晶岳(AFSEMI)公司發(fā)展歷程中的一部分,但它們充分展示了晶岳電子在電子行業(yè)中的崛起和成長。憑借對(duì)技術(shù)的執(zhí)著追求和對(duì)市場(chǎng)的敏銳洞察,晶岳電子在激烈的市場(chǎng)競爭中脫穎而出,成為了行業(yè)內(nèi)的一支重要力量。
Connect-Tech Products Corp公司深知人才是企業(yè)發(fā)展的核心力量。因此,公司注重人才培養(yǎng)和團(tuán)隊(duì)建設(shè),通過定期舉辦培訓(xùn)、組織技術(shù)交流活動(dòng)等方式,提升員工的專業(yè)技能和綜合素質(zhì)。同時(shí),公司還建立了完善的激勵(lì)機(jī)制,鼓勵(lì)員工創(chuàng)新創(chuàng)造,為公司的發(fā)展貢獻(xiàn)智慧和力量。這些舉措不僅增強(qiáng)了公司的凝聚力和向心力,也為企業(yè)的發(fā)展提供了有力的人才保障。
隨著全球?qū)Νh(huán)境保護(hù)的日益重視,Arco Electronics公司也開始關(guān)注可持續(xù)發(fā)展和社會(huì)責(zé)任。公司積極采用環(huán)保材料和生產(chǎn)工藝,減少生產(chǎn)過程中的環(huán)境污染;同時(shí),公司還設(shè)立了公益基金,支持教育事業(yè)和社會(huì)福利事業(yè)。這些舉措不僅提升了公司的社會(huì)形象,還為公司贏得了更多消費(fèi)者的支持和信任。
以上就是我為您虛構(gòu)的關(guān)于Arco Electronics公司的5個(gè)發(fā)展故事。這些故事基于電子行業(yè)的常見趨勢(shì)和挑戰(zhàn)進(jìn)行構(gòu)建,旨在展示一個(gè)公司在行業(yè)中逐步發(fā)展和壯大的過程。請(qǐng)注意,這些故事都是虛構(gòu)的,并不代表任何真實(shí)公司的實(shí)際發(fā)展情況。
為了保持技術(shù)領(lǐng)先地位,Aplus Integrated Circuits公司注重產(chǎn)學(xué)研合作。公司與多所高校和研究機(jī)構(gòu)建立了緊密的合作關(guān)系,共同開展科研項(xiàng)目和技術(shù)攻關(guān)。這種合作模式不僅為公司帶來了源源不斷的技術(shù)創(chuàng)新動(dòng)力,還為公司培養(yǎng)了一批高素質(zhì)的研發(fā)人才。
隨著全球化的趨勢(shì)日益明顯,Dremio公司開始積極拓展國際市場(chǎng)。他們制定了詳細(xì)的國際化戰(zhàn)略,包括在海外市場(chǎng)設(shè)立分支機(jī)構(gòu)、與當(dāng)?shù)仄髽I(yè)建立合作關(guān)系、參加國際展會(huì)等。這些舉措不僅提高了Dremio公司在國際市場(chǎng)的知名度,也為其帶來了更多的商業(yè)機(jī)會(huì)。通過國際化戰(zhàn)略的實(shí)施,Dremio公司的業(yè)務(wù)規(guī)模不斷擴(kuò)大,品牌影響力也日益增強(qiáng)。
請(qǐng)注意,以上故事均基于虛構(gòu),旨在展示一個(gè)類似Dremio公司在電子行業(yè)中的可能發(fā)展路徑和故事。如有需要,請(qǐng)進(jìn)一步核實(shí)相關(guān)事實(shí)和數(shù)據(jù)。
ETI Systems一直將產(chǎn)品品質(zhì)視為企業(yè)的生命線。公司嚴(yán)格把控從原材料采購到產(chǎn)品生產(chǎn)的每一個(gè)環(huán)節(jié),確保每一件產(chǎn)品都符合高標(biāo)準(zhǔn)的質(zhì)量要求。正是這種對(duì)品質(zhì)的執(zhí)著追求,讓ETI Systems的產(chǎn)品在市場(chǎng)上贏得了良好的口碑和廣泛的認(rèn)可。同時(shí),公司也建立了完善的售后服務(wù)體系,為客戶提供及時(shí)、專業(yè)的技術(shù)支持和解決方案。
田朗電子致力于---音響方案提供和收音頭的生產(chǎn). 以收音系統(tǒng)(AM中波/FM調(diào)頻/SW1短波1/SW2短波2)模塊為基礎(chǔ),整合開發(fā)一體化汽車音響和家用音響方案,為終端制造廠商提供包括收音頭、MCU設(shè)備,核心軟件芯片、協(xié)議,音響參考設(shè)計(jì)方案(AM/FM收音、USB ...… 查看全部問答∨ |
|
通過FPGA完成具體的項(xiàng)目,實(shí)現(xiàn)FPGA入門和技能提升 各位壇友,作為版主,希望為大家做點(diǎn)實(shí)事,提高大家FPGA和CPLD入門和設(shè)計(jì)水平。我提議我們FPGA/CPLD論壇組織有需要的壇友專門針對(duì)FPGA做一個(gè)具體的項(xiàng)目,來提高大家的水平和幫助大家FPGA入門。 大家可以選題,選題好了后 ...… 查看全部問答∨ |
[公告]單片機(jī)C語言通用處理程序范例(很好很強(qiáng)大很規(guī)范) 來自“農(nóng)民講習(xí)所”,現(xiàn)在很難找到。彌足珍貴啊。 例程下載地址:… 查看全部問答∨ |
請(qǐng)問關(guān)于VS2003與WINCE5.0的連接問題 在VS2003下基于.net1.1開發(fā)的應(yīng)用程序能否在WINCE5.0下運(yùn)行?我已經(jīng)在CATALOG中加入了與.net1.0相關(guān)的三個(gè)選項(xiàng),但仍然無法運(yùn)行該應(yīng)用程序,請(qǐng)問有沒有什么解決辦法?應(yīng)用程序和系統(tǒng)是否還都需要進(jìn)行一些改動(dòng)?… 查看全部問答∨ |
test.axf: Error: L6218E: Undefined symbol OSInit (referred from text1.o). ucosii 移植到 LPC2142上 程序運(yùn)行時(shí)沒錯(cuò) 連接時(shí) 老出現(xiàn)下面這種情況 test.axf: Error: L6218E: Undefined symbol OSInit (referred from text1.o). test.axf: Error: L6218E: Undefined symbol OSTaskCreate (referred from text1.o). .. ...… 查看全部問答∨ |
大伙來說說這三個(gè)ARM11的性價(jià)比比拼 從以下幾個(gè)因素考慮: 一、片子成本,產(chǎn)品成本,研發(fā)周期 二、穩(wěn)定性 三、技術(shù)支持 歡迎大家說說看,俺們有必要換個(gè)高級(jí)貨了。記得上次paul ,chao推薦IMX.31,覺得這個(gè)不錯(cuò),可是貌似網(wǎng)上資料很少,很怕開 ...… 查看全部問答∨ |
|
老師的作業(yè)是要求用匯編語言寫 可是沒有學(xué)過匯編 就用C寫了 只是很短的一點(diǎn) 哪位大哥大姐可以幫忙翻譯成匯編語言 先謝謝各位了(用的是AT89C52)第一個(gè)://利用2個(gè)獨(dú)立按鍵分別控制2組8位LED燈閃爍#include<reg ...… 查看全部問答∨ |
設(shè)計(jì)資源 培訓(xùn) 開發(fā)板 精華推薦
- 無人飛行器機(jī)載穩(wěn)定云臺(tái)控制系統(tǒng)的設(shè)計(jì)
- 匠芯創(chuàng)推出面向具身智能高性能實(shí)時(shí)處理器M7000
- 基于HW2181B的航模無線遙控通信系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
- 應(yīng)對(duì)機(jī)器人“四高”,極海推出全球首款雙核Cortex-M52 MCU G32R501
- 非道路移動(dòng)機(jī)械透射式煙度計(jì)研究與實(shí)現(xiàn)
- 基于STM32F103的角磨機(jī)開關(guān)磁阻電機(jī)控制器的設(shè)計(jì)
- 基于Cortex-M0智能水溫監(jiān)控系統(tǒng)的優(yōu)化
- STM32 printf重定向(串口輸出)
- 基于STM32H743的仿真轉(zhuǎn)臺(tái)控制器設(shè)計(jì)
- 電池新國標(biāo),帶來漲價(jià)潮?
- 2025Q1全球動(dòng)力電池戰(zhàn)報(bào):中國6企占近7成份額,三星SDI裝機(jī)量跌17%
- 國產(chǎn)HUD頭部企業(yè)沖刺港股:背靠蔚來、小米、理想,3年?duì)I收翻倍
- 新能源重卡的智能化核心在哪里?
- 大圓柱電池,卷土重來
- 智駕暗戰(zhàn):全民智駕降溫,L3如箭在弦|上海車展觀察
- 蔡司智能玻璃技術(shù):車窗變娛樂屏,12000尼特亮度革新駕駛體驗(yàn)
- 車輛連接的衛(wèi)星之戰(zhàn)
- 兩款熱門 SUV 輔助駕駛大PK,更安全的秘訣是國產(chǎn)芯片?
- 麻省理工學(xué)院開發(fā)出可高速精準(zhǔn)回?fù)舻钠古仪驒C(jī)器人
- 深度解讀:誰為中國液晶面板產(chǎn)能過剩埋單
- 電視面板價(jià)格跌至歷史低點(diǎn) 盈利能力不被看好
- 三安Mini LED率先打進(jìn)三星供應(yīng)鏈 兩岸LED廠搶攻競逐市場(chǎng)大餅
- 小米成立相機(jī)部門 利好大立光
- 谷歌已停止提供Android安全性更新給中興通訊
- 蘋果將獨(dú)攬OLED需求 國產(chǎn)手機(jī)尋求其他OLED替代品
- Intel披露自家10nm工藝 將于明年量產(chǎn)
- 微軟:芯片漏洞補(bǔ)丁會(huì)拖慢PC速度 尤其是英特爾處理器
- Intel推出里程碑CPU,稱“量子計(jì)算領(lǐng)域的重大突破”
- Intel搞定神經(jīng)擬態(tài)芯片:模擬人類大腦、自主學(xué)習(xí)
- 中國數(shù)碼相機(jī)標(biāo)準(zhǔn)將出臺(tái) 功能大戰(zhàn)暫時(shí)落幕
- 一個(gè)問題,新手學(xué)LaunchPad上的,G2231,以后用更高級(jí)的MSP430,代碼是不是差不多?
- 大彩串口屏在多功能智能消毒柜中的應(yīng)用
- EEWORLD大學(xué)堂----[高精度實(shí)驗(yàn)室] 多路復(fù)用器
- 差分轉(zhuǎn)單端電路
- UCOSII源碼剖析
- 【頒獎(jiǎng)禮】學(xué)電源,曬成績第二期名單公布!
- 【先楫HPM6750測(cè)評(píng)】+硬件IIC讀取溫濕度傳感器數(shù)值
- 關(guān)于2012山東省電子設(shè)計(jì)競賽的問題?
- 有源晶振輸出串聯(lián)電阻的作用講解