欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標(biāo)題:
STM8L單片機(jī)RTC時(shí)鐘問題請教。
[打印本頁]
作者:
yaofu
時(shí)間:
2021-6-4 11:18
標(biāo)題:
STM8L單片機(jī)RTC時(shí)鐘問題請教。
各位大牛:現(xiàn)用STM8L151單片機(jī),采用低功耗模式,啟動看門狗,外部RTC時(shí)鐘,rtc喚醒,喚醒后喂狗,正常情況下系統(tǒng)運(yùn)行正常,但板子一旦受潮,rtc晶振不起振,造成看門狗復(fù)位,此時(shí)切換RTC為內(nèi)部LSI模式,如果外部晶振不能正常起振,切換不成功,這個問題如何解決?
作者:
yaofu
時(shí)間:
2021-6-4 13:44
void rtc_init(void)
{
u16 ddys=0;
RTC_ClearITPendingBit(RTC_IT_WUT);
RTC_ClearITPendingBit(RTC_IT_ALRA);
CLK_PeripheralClockConfig(CLK_Peripheral_RTC,DISABLE); //打開RTC時(shí)鐘
/*如果外部晶振有問題,切換內(nèi)部晶振*/
CLK_data=0;//外部晶振0,內(nèi)部晶振為1
if((rest_clk<20)||(FLASH_ReadByte(CLK_LSE_LSI)!=0x01))//(CLK_data==0)//外部時(shí)鐘
{
CLK_LSEConfig(CLK_LSE_ON);
while( RESET==CLK_GetFlagStatus(CLK_FLAG_LSERDY))
{
if((++ddys)>8000)
{
CLK_data=1;
break;
}
}
CLK_RTCClockConfig(CLK_RTCCLKSource_LSE, CLK_RTCCLKDiv_1);//時(shí)鐘為LSE 2分頻
CLK_PeripheralClockConfig(CLK_Peripheral_RTC, ENABLE); //打開RTC時(shí)鐘
}
else
{
CLK_data=1;
RTC_WakeUpCmd(DISABLE);
CLK_LSEConfig(CLK_LSE_OFF);
CLK_LSICmd(ENABLE);
while (CLK_GetFlagStatus(CLK_FLAG_LSIRDY) == RESET);
CLK_RTCClockConfig(CLK_RTCCLKSource_LSI, CLK_RTCCLKDiv_1);//時(shí)鐘為LSE 2分頻
CLK_PeripheralClockConfig(CLK_Peripheral_RTC, ENABLE); //打開RTC時(shí)鐘
}
RTC_WakeUpClockConfig(RTC_WakeUpClock_RTCCLK_Div16); //喚醒設(shè)置為16分頻
RTC_SetWakeUpCounter(80); //設(shè)置喚醒寄存器時(shí)間為 1s 2048 ,0.5秒 1024
RTC_ITConfig(RTC_IT_WUT, ENABLE); //使能RTC喚醒中斷使能
RTC_ClearITPendingBit(RTC_IT_WUT); //清除RTC喚醒標(biāo)志
RTC_ClearITPendingBit(RTC_IT_ALRA);
RTC_WakeUpCmd(ENABLE);
delayms(5);
}
作者:
yaofu
時(shí)間:
2021-6-4 13:44
本帖最后由 yaofu 于 2021-6-4 13:57 編輯
這個程序在外部晶振正常時(shí),經(jīng)過20次重啟,切換到內(nèi)部晶振,外部晶振一直不正常,好像一直切換不過去。
歡迎光臨 (http://m.raoushi.com/bbs/)
Powered by Discuz! X3.1