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

歷史上的今天

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

2021年12月29日 | STM32F103單片機(jī)RTC實(shí)時(shí)時(shí)鐘的使用

發(fā)布者:Susan蘇 來源: eefocus關(guān)鍵字:STM32F103  單片機(jī)  RTC  實(shí)時(shí)時(shí)鐘 手機(jī)看文章 掃描二維碼
隨時(shí)隨地手機(jī)看文章

??實(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ù)位后,對后備寄存器和RTC的訪問被禁止,這是為了防止對后備區(qū)域(BKP)的意外寫操作。執(zhí)行以下操作將使能對后備寄存器和RTC的訪問:


設(shè)置寄存器RCC_APB1ENR的PWREN和BKPEN位,使能電源和后備接口時(shí)鐘

設(shè)置寄存器PWR_CR的DBP位,使能對后備寄存器和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í)檢測時(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();      //等待最近一次對RTC寄存器的寫操作完成

        RTC_WaitForSynchro();       //等待RTC寄存器同步

        RTC_ITConfig( RTC_IT_SEC, ENABLE );     //使能RTC秒中斷

        RTC_WaitForLastTask();        //等待最近一次對RTC寄存器的寫操作完成

        RTC_EnterConfigMode();        // 允許配置

        RTC_SetPrescaler( 32767 );    //設(shè)置RTC預(yù)分頻的值

        RTC_WaitForLastTask();        //等待最近一次對RTC寄存器的寫操作完成  

        RTC_ExitConfigMode();         //退出配置模式

        BKP_WriteBackupRegister( BKP_DR1, 0x5055 ); //向指定的后備寄存器中寫入用戶程序數(shù)據(jù)

    }

    else            //系統(tǒng)繼續(xù)計(jì)時(shí)

    {

        RTC_WaitForSynchro();       //等待最近一次對RTC寄存器的寫操作完成

        RTC_ITConfig( RTC_IT_SEC | RTC_IT_ALR, ENABLE ); //使能RTC秒中斷、鬧鐘中斷

        RTC_WaitForLastTask();       //等待最近一次對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è)字符串。


關(guān)鍵字:STM32F103  單片機(jī)  RTC  實(shí)時(shí)時(shí)鐘 引用地址:STM32F103單片機(jī)RTC實(shí)時(shí)時(shí)鐘的使用

上一篇:STM32F103高級定時(shí)器使用
下一篇:STM32F103單片機(jī)讀取芯片自身ID

推薦閱讀

集微網(wǎng)消息,近日,Mac Otakara 報(bào)導(dǎo)指出,新的 iPad mini 可能會(huì)在 2019 年初亮相,并在 2018 年12月底前投產(chǎn),當(dāng)時(shí)還沒有較可靠的消息,透露這款新 iPad mini 的具體消息。不過,近日,一款新 iPad mini 的保護(hù)殼泄露,爆出了幾處有意思的細(xì)節(jié)。據(jù)外媒?9to5mac?報(bào)導(dǎo),爆料網(wǎng)站 Slashleaks 在?Twitter?分享關(guān)于新款 iPad mini 的...
隨著續(xù)航里程和駕乘品質(zhì)的提升,越來越多的新能源汽車走進(jìn)了廣大消費(fèi)者懷抱。然而,由于配套基礎(chǔ)設(shè)施建設(shè)相對滯后,充電難問題困擾著許多新能源車用戶。在商場、寫字樓等公共場所,不時(shí)會(huì)出現(xiàn)充電樁數(shù)量不夠或充電車位被燃油車占據(jù)的情況,讓電動(dòng)車車主很是頭疼。 為此,大眾集團(tuán)發(fā)布了新的解決方案,利用移動(dòng)式機(jī)器人來給新能源汽車充電。這一理念由大...
一、血壓測量原理血壓的概念就是血液流經(jīng)血管壁時(shí)的壓力。由心臟出來的血液,需要有推力,才能繞行身體一周,心臟就是借著不停的收縮、放松,將血液推送前進(jìn)。血壓有兩種,一是收縮壓:是當(dāng)心臟收縮將血液打到血管所測得的血壓,另一是舒張壓:是心臟在不收縮所測得的壓力。當(dāng)袖帶的壓力等于血壓時(shí),血液開始可以流通而產(chǎn)生所謂的袖帶聲,這時(shí)候表現(xiàn)為收縮...
MSP430FR2633是一款低功耗微控制器,帶有多個(gè)GPIO和電容觸摸引腳。本篇文章創(chuàng)建了一個(gè)四按鈕和帶有LED和觸覺反饋的四環(huán)滑動(dòng)電容式觸摸電路。在本文中,我們將介紹電路的功能、連接方式和硬件。我還將分享制作定制電路板的復(fù)雜性,這對于那些使用DipTrace的人或任何想要更好地理解Gerber文件生成方式的人都有幫助。讓我們開始吧。關(guān)于電路該設(shè)計(jì)圍繞三個(gè)集...

史海拾趣

問答坊 | AI 解惑

WinCE 5.0邊做邊學(xué)(3)

經(jīng)過前兩次的邊做邊學(xué),我們已經(jīng)創(chuàng)建并可以自由修改自己的平臺了,這次我平來補(bǔ)充一點(diǎn)理論知識,以便加深對CE生成過程的了解。在此之前,需要說明的是CE的目錄結(jié)構(gòu)是很龐大而復(fù)雜的,在以后的工作中很多事情會(huì)取決于你對目錄結(jié)構(gòu)的了解程度,在此, ...…

查看全部問答∨

文氏橋式震蕩電路討論專題

之前在搞定這5個(gè)RC振蕩電路讓你的模擬設(shè)計(jì)順暢很多 里wangjiafu1985說文氏橋是經(jīng)典中的經(jīng)典,同時(shí)SOSO也建議對這個(gè)經(jīng)典中的經(jīng)典開個(gè)討論的專貼,因此開了此貼以供大家討論文氏橋震蕩電路。 下面我就拋磚引玉做個(gè)簡單介紹。      & ...…

查看全部問答∨

請問大家有沒有用過支持USB通信的單片機(jī)?

大家有調(diào)試過單片機(jī)的USB通信功能嗎?是什么型號的啊?…

查看全部問答∨

WinCE對IE6支持嗎?

WinCE支持IE6及更高版本嗎?支持的程度如何?…

查看全部問答∨

秒表設(shè)計(jì)

用89S51單片機(jī)外接12MHZ晶振復(fù)位電路,4個(gè)數(shù)碼管,4個(gè)按鍵,做一個(gè)電子秒表,具體要求如下: (1)用單片機(jī)定時(shí)器T0中斷方式,實(shí)現(xiàn)1秒定時(shí),用動(dòng)態(tài)顯示方式實(shí)現(xiàn)秒表計(jì)時(shí)顯示。 (2)4位;LED右邊2位顯示秒,左邊2位顯示分,實(shí)現(xiàn)秒表計(jì)時(shí)顯示。 ...…

查看全部問答∨

gps 數(shù)據(jù)轉(zhuǎn)換

新手入門 vc 讀取gps 數(shù)據(jù) 得到 當(dāng)前點(diǎn)的經(jīng)緯度  我用串口調(diào)試助手 讀到的信息是 60 86 7E 98 00 E6 60 98 60 E6 E6 98 E0 86 7E 66 E0 F8 60 F8 E0 86 E0 86 00 18 E0 F8 F8 86 一串一串的16進(jìn)制數(shù) 然而 我用 VC 打印出來 的卻是 ...…

查看全部問答∨

力科公司2010年高速串行數(shù)據(jù)測試技術(shù)巡回研討會(huì)勝利召開

力科公司2010年高速串行數(shù)據(jù)測試技術(shù)巡回研討會(huì)勝利召開…

查看全部問答∨

STM8S使用觸摸庫的問題

就是離CPU最遠(yuǎn)那個(gè)鍵變化量比其他按鍵小 不知道大家有沒有碰到這樣的問題? 如何解決呢?只能調(diào)整電阻嗎? 謝謝!…

查看全部問答∨

看ST8的文檔太費(fèi)勁了.下面的如何解

1. LD A, #$10 2. LD A, $10 3. LD A, ($10,SP) 4. LD A,($10,X) 第一個(gè)$10,是個(gè)立即數(shù)10H 第二個(gè)$10是內(nèi)存地址10H 第三個(gè)$10是什么? 第四個(gè)$10應(yīng)該是內(nèi)存地址10H,還是數(shù)字10H? 感覺STM的文檔,沒有仔細(xì)說明語法.很難理解…

查看全部問答∨

stm32f10x.h中的說明是不是有錯(cuò)

請看圖片所示: 下載 (27.42 KB) 2010-11-23 00:45 …

查看全部問答∨
小廣播
設(shè)計(jì)資源 培訓(xùn) 開發(fā)板 精華推薦

最新單片機(jī)文章

 
EEWorld訂閱號

 
EEWorld服務(wù)號

 
汽車開發(fā)圈

 
機(jī)器人開發(fā)圈

電子工程世界版權(quán)所有 京ICP證060456號 京ICP備10001474號-1 電信業(yè)務(wù)審批[2006]字第258號函 京公網(wǎng)安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 瓦房店市| 桃江县| 嘉兴市| 无棣县| 田东县| 中宁县| 韶山市| 襄汾县| 靖宇县| 吕梁市| 苍梧县| 湖北省| 开原市| 大余县| 天柱县| 丹阳市| 新邵县| 东莞市| 彰化县| 铜陵市| 仙桃市| 台北县| 响水县| 建始县| 东平县| 广丰县| 洛阳市| 喀什市| 晋中市| 云梦县| 正安县| 师宗县| 湟源县| 巴马| 调兵山市| 卢龙县| 榆树市| 且末县| 肃南| 定州市| 楚雄市|