娇小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ù)位后,對(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è)字符串。


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

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

推薦閱讀

現(xiàn)在這個(gè)時(shí)代,真的不缺少創(chuàng)新,有很多腦洞的產(chǎn)品會(huì)打破我們的觀念。大家有沒有幻想過能夠便攜地帶著主機(jī)出門游玩?國外廠商GAEMS研發(fā)了一個(gè)產(chǎn)品可以實(shí)現(xiàn)這個(gè)幻想,把Xbox One或PS4變成了一個(gè)便攜的手提機(jī)。??這個(gè)產(chǎn)品名為Sentinel–Personal Gaming Environment(哨兵-個(gè)人游戲環(huán)境),相當(dāng)于便攜式游戲顯示器,類似一個(gè)手提箱,可以將主機(jī)放置在箱內(nèi),...
日媒稱,人口日益老齡化,對(duì)具體幫助的需求日益增多,但缺乏提供幫助的資金和看護(hù)人。日本的豐田汽車公司認(rèn)為,它們能解決這個(gè)問題。 12月19日?qǐng)?bào)道,18日,在東京國際機(jī)器人展覽會(huì)上,該公司的款類人機(jī)器人T-HR3由一名人類操作員遙控。 該機(jī)器人提供的眼鏡可以讓操作員看到機(jī)器人所見之物,手套讓他們感覺到機(jī)器人所觸摸之物——這足以讓操作員通過機(jī)...
12月28日,兆易創(chuàng)新推出2020 年股票期權(quán)與限制性股票激勵(lì)計(jì)劃(草案)(簡稱“激勵(lì)計(jì)劃”)。本次激勵(lì)計(jì)劃包括股票期權(quán)激勵(lì)計(jì)劃和限制性股票激勵(lì)計(jì)劃兩部分。股票來源為公司向激勵(lì)對(duì)象定向發(fā)行兆易創(chuàng)新A 股普通股。激勵(lì)計(jì)劃擬授予激勵(lì)對(duì)象總?cè)藬?shù)為 308 人,包括公司公告本激勵(lì)計(jì)劃時(shí)在公司或其控股子公司任職的公司高級(jí)管理人員、管理人員、核心及骨干...
此內(nèi)容有一定的深度,初學(xué)者不建議看。最近一直在研究數(shù)碼管驅(qū)動(dòng)芯片 74HC595 ,發(fā)現(xiàn)一件很好玩的事情,那就是用74HC595做驅(qū)動(dòng)調(diào)試程序時(shí),發(fā)現(xiàn)它只能輸出,不能輸入。查找大量資料,從某個(gè)網(wǎng)友制作的mylib.c(NES)中獲得了一條指令:#define bin(_a,_b,_c,_d,_e,_f,_g,_h) ((_a)<<7|(_b)<<6|(_c)<<5|(_d)<<4|(_e)<<3|(_f)<<2|(_g)<<1|(_h))分別是8 7...

史海拾趣

問答坊 | AI 解惑

MCU設(shè)備

田朗電子致力于---音響方案提供和收音頭的生產(chǎn). 以收音系統(tǒng)(AM中波/FM調(diào)頻/SW1短波1/SW2短波2)模塊為基礎(chǔ),整合開發(fā)一體化汽車音響和家用音響方案,為終端制造廠商提供包括收音頭、MCU設(shè)備,核心軟件芯片、協(xié)議,音響參考設(shè)計(jì)方案(AM/FM收音、USB ...…

查看全部問答∨

天線知識(shí)

包含有: 1、無線電波 2、傳輸線 3、天線基礎(chǔ)知識(shí)…

查看全部問答∨

通過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). .. ...…

查看全部問答∨

PXA310 VS 6410 VS IMX.31

大伙來說說這三個(gè)ARM11的性價(jià)比比拼 從以下幾個(gè)因素考慮: 一、片子成本,產(chǎn)品成本,研發(fā)周期 二、穩(wěn)定性 三、技術(shù)支持 歡迎大家說說看,俺們有必要換個(gè)高級(jí)貨了。記得上次paul ,chao推薦IMX.31,覺得這個(gè)不錯(cuò),可是貌似網(wǎng)上資料很少,很怕開 ...…

查看全部問答∨

搶購付款成功!

真激動(dòng)啊!…

查看全部問答∨

基于LM3S811的血氧儀

無原理圖,端口設(shè)置在源碼中…

查看全部問答∨

求助C語言變成匯編語言

老師的作業(yè)是要求用匯編語言寫 可是沒有學(xué)過匯編 就用C寫了  只是很短的一點(diǎn)  哪位大哥大姐可以幫忙翻譯成匯編語言  先謝謝各位了(用的是AT89C52)第一個(gè)://利用2個(gè)獨(dú)立按鍵分別控制2組8位LED燈閃爍#include<reg ...…

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

最新單片機(jī)文章

 
EEWorld訂閱號(hào)

 
EEWorld服務(wù)號(hào)

 
汽車開發(fā)圈

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

電子工程世界版權(quán)所有 京ICP證060456號(hào) 京ICP備10001474號(hào)-1 電信業(yè)務(wù)審批[2006]字第258號(hào)函 京公網(wǎng)安備 11010802033920號(hào) Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 民勤县| 长子县| 大港区| 绍兴县| 勃利县| 平湖市| 河西区| 平潭县| 沂南县| 临澧县| 舞钢市| 黄浦区| 平江县| 太和县| 两当县| 改则县| 敦煌市| 道孚县| 临武县| 邵武市| 泽州县| 阳江市| 芜湖市| 河北区| 东安县| 朝阳县| 滦南县| 凌云县| 青冈县| 边坝县| 泰安市| 黔西| 湄潭县| 丰城市| 抚宁县| 岳阳县| 乌鲁木齐县| 岳阳市| 吉林省| 蕉岭县| 香河县|