ch582M 低功耗的問題,麻煩解答一下

image.png

由于rc不準,在我的項目里面使用了外部RTC晶振,但是在使用的過程中發(fā)現(xiàn), 問題:

1.在進入低功耗后,MCU 無法被rtc喚醒 ,或只能喚醒一次

猜測是進入低功耗后,rtc不起振,無法通過中斷喚醒 ,使用內(nèi)部的rtc晶振倒是可以喚醒程序



請問官方在測試的時候遇到過類似的問題嗎?

或者在電路設計的時候需要注意些什么?

下面是我的程序

int?main()
{
uint8_t?len;

SetSysClock(CLK_SOURCE_PLL_60MHz);
GPIOA_ModeCfg(GPIO_Pin_All,?GPIO_ModeIN_Floating);
GPIOB_ModeCfg(GPIO_Pin_All,?GPIO_ModeIN_Floating);


/*?配置串口1:先配置IO口模式,再配置串口?*/


GPIOB_SetBits(GPIO_Pin_13);
GPIOB_ModeCfg(GPIO_Pin_12,?GPIO_ModeIN_PU);??????//?RXD-配置上拉輸入
GPIOB_ModeCfg(GPIO_Pin_13,?GPIO_ModeOut_PP_5mA);?//?TXD-配置推挽輸出,注意先讓IO口輸出高電平
GPIOPinRemap(ENABLE,RB_PIN_UART1);
UART1_ByteTrigCfg(UART_1BYTE_TRIG);
UART1_DefInit();


HAL_TimeInit();
PFIC_EnableIRQ(RTC_IRQn);/*?使能RTC中斷?*/

printf("start=%d\n",intFlag);
while(1){


printf("intFlag=%d\n",intFlag);
mDelaymS(1000);

RTC_TRIGFunCfg(32768*5);
PWR_PeriphWakeUpCfg(?ENABLE,?RB_SLP_RTC_WAKE,?Long_Delay?);
HSECFG_Current(HSE_RCur_100);

}
}

__INTERRUPT
__HIGH_CODE
void?RTC_IRQHandler(void)
{

if(RTC_GetITFlag(RTC_TMR_EVENT)){
RTC_ClearITFlag(RTC_TMR_EVENT);
}
if(RTC_GetITFlag(RTC_TRIG_EVENT)){
RTC_ClearITFlag(RTC_TRIG_EVENT);
}
RTCTigFlag=1;
intFlag++;
}

image.png

已解決


只有登錄才能回復,可以選擇微信賬號登錄

国产91精品新入口,国产成人综合网在线播放,九热这里只有精品,本道在线观看,美女视频a美女视频,韩国美女激情视频,日本美女pvp视频