欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標(biāo)題:
STM32 RTC時(shí)鐘源程序
[打印本頁(yè)]
作者:
Wang嘉欣
時(shí)間:
2020-6-16 13:31
標(biāo)題:
STM32 RTC時(shí)鐘源程序
電路原理圖如下:
1592285159(1).png
(16.5 KB, 下載次數(shù): 23)
下載附件
2020-6-16 13:27 上傳
單片機(jī)源程序如下:
#include "delay.h"
#include "led.h"
#include "rtc.h"
//實(shí)時(shí)時(shí)鐘配置
//初始化RTC時(shí)鐘,同時(shí)檢測(cè)時(shí)鐘是否工作正常
//BKP->DR1用于保存是否第一次配置的設(shè)置
//返回0:正常
//其他:錯(cuò)誤代碼
u8 RTC_Init(void)
{
//檢查是不是第一次配置時(shí)鐘
u8 temp=0;
if(BKP->DR1!=0X5050)//第一次配置
{
RCC->APB1ENR|=1<<28; //使能電源時(shí)鐘
RCC->APB1ENR|=1<<27; //使能備份時(shí)鐘
PWR->CR|=1<<8; //取消備份區(qū)寫保護(hù)
RCC->BDCR|=1<<16; //備份區(qū)域軟復(fù)位
RCC->BDCR&=~(1<<16); //備份區(qū)域軟復(fù)位結(jié)束
RCC->BDCR|=1<<0; //開啟外部低速振蕩器
while((!(RCC->BDCR&0X02))&&temp<250)//等待外部時(shí)鐘就緒
{
temp++;
delay_ms(10);
};
if(temp>=250)return 1;//初始化時(shí)鐘失敗,晶振有問(wèn)題
RCC->BDCR|=1<<8; //LSI作為RTC時(shí)鐘
RCC->BDCR|=1<<15;//RTC時(shí)鐘使能
while(!(RTC->CRL&(1<<5)));//等待RTC寄存器操作完成
while(!(RTC->CRL&(1<<3)));//等待RTC寄存器同步
RTC->CRH|=0X01; //允許秒中斷
while(!(RTC->CRL&(1<<5)));//等待RTC寄存器操作完成
RTC->CRL|=1<<4; //允許配置
RTC->PRLH=0X0000;
RTC->PRLL=32767; //時(shí)鐘周期設(shè)置(有待觀察,看是否跑慢了?)理論值:32767
RTC->CRL&=~(1<<4); //配置更新
while(!(RTC->CRL&(1<<5))); //等待RTC寄存器操作完成
BKP->DR1=0X5050;
}else//系統(tǒng)繼續(xù)計(jì)時(shí)
{
while(!(RTC->CRL&(1<<3)));//等待RTC寄存器同步
RTC->CRH|=0X01; //允許秒中斷
while(!(RTC->CRL&(1<<5)));//等待RTC寄存器操作完成
}
MY_NVIC_Init(0,0,RTC_IRQn,2);//優(yōu)先級(jí)設(shè)置
return 0; //ok
}
//RTC時(shí)鐘中斷
//每秒觸發(fā)一次
void RTC_IRQHandler(void)
{
if(RTC->CRL&0x0001)//秒鐘中斷
{
LED1=!LED1;
}
RTC->CRL&=0X0FFA; //清除溢出,秒鐘中斷標(biāo)志
while(!(RTC->CRL&(1<<5)));//等待RTC寄存器操作完成
}
復(fù)制代碼
所有程序51hei提供下載:
RTC時(shí)鐘.7z
(192.04 KB, 下載次數(shù): 17)
2020-6-16 15:08 上傳
點(diǎn)擊文件名下載附件
作者:
admin
時(shí)間:
2020-6-16 15:09
本帖需要重新編輯補(bǔ)全電路原理圖,源碼,詳細(xì)說(shuō)明與圖片即可獲得100+黑幣(帖子下方有編輯按鈕)
歡迎光臨 (http://m.raoushi.com/bbs/)
Powered by Discuz! X3.1