在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 重返STM32之---RTC使用

            重返STM32之---RTC使用

            作者: 時間:2016-11-11 來源:網(wǎng)絡 收藏
            STM3f10x的RTC時能涉及到的寄存器有RCC,BKP和RTC這三個大類寄存器;其中RCC主要控制了實時時鐘和備份區(qū)的電源使能和時鐘使能;RTC模塊和時鐘配置系統(tǒng)的寄存器是在后備區(qū)域的(即BKP),通過BKP后備區(qū)域來存儲RTC配置的數(shù)據(jù)可以讓在系統(tǒng)復位或待機模式下喚醒后RTC里面配置的數(shù)據(jù)維持不變;為此備份區(qū)還得涉及一個寄存器PWR,電源管理寄存器,備份區(qū)的寫保護位在PWR->CR的第八位。
            由于整個RTC都是位于后備區(qū),而且RTC的APB1總線和內核的APB1總線是獨立的,所以在系統(tǒng)復位和喚醒時,RTC和BKP的那些時鐘不用從新配置;他們只受Backup domain software reset這個位和系統(tǒng)完全掉電的影響。所以呢;RTC只要有備用電池,它可以完全獨立工作。
            如圖一和圖二所示
            圖一
            圖二
            大家要清楚f10x系列的RTC算不上一個真正意義上的RTC,它只是一個計數(shù)器,精度上難免差強人意,所以設計要注意是否滿足計時要求。
            如果是要實現(xiàn)實時時間以上所有的寄存器都要有相應設置,如果只用秒中斷,那么只需要設置RCC和RTC的寄存器就可以了。

            以下以實現(xiàn)實時時鐘為例講解初始化過程。
            1. 檢測后備區(qū)是否已有有效標記
            BKP->DR1 != 0x5050;//(DR1 TO DR42)
            • 庫函數(shù)
            BKP_ReadBackupRegister(BKP_DR1) != 0x5050;
            1. 開啟電源管理和備份區(qū)時鐘
            (RCC->APB1ENR |=1<<28;//POWER);
            (RCC->APB1ENR |=1<<27;//BACKUP);
            • 庫函數(shù)
            RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR | RCC_APB1Periph_BKP, ENABLE);
            1. 取消備份去寫保護
            (PWR->CR |=1<<8;//WP);
            • 庫函數(shù)
            • 復位后備區(qū)所有寄存器
            RCC->BDCR |=1<<16;
            RCC->BDCR &=~(1<<16);
            • 庫函數(shù)
            • 開啟外部32k晶振
            RCC->BDCR |=1<<0;
            • 庫函數(shù)
            • 32k晶振是否正常工作
            • 庫函數(shù)
            while (RCC_GetFlagStatus(RCC_FLAG_LSERDY) == RESET);
            1. 選擇32k為RTC時鐘并使能RTC
            2. 庫函數(shù)
            3. 等待RTC操作和同步完成
            4. 庫函數(shù)
            5. 使能秒中斷
            6. 庫函數(shù)
            RTC_ITConfig(RTC_IT_SEC, ENABLE);
            • ;
            • 配置RTC
            • 允許配置
            //set time---
            • 庫函數(shù)
            BKP_WriteBackupRegister(BKP_DR1, 0X5050);
            1. 如果時鐘已被設置過(RTC沒有斷電)
            2. 等待同步
            3. 開中斷
            4. 等待操作完成
            5. 庫函數(shù)
            RTC_ITConfig(RTC_IT_SEC, ENABLE);

            最后配置RTC中斷優(yōu)先級。


            關鍵詞: STM32RTC使

            評論


            技術專區(qū)

            關閉