int main()
{
SetSysClock( CLK_SOURCE_PLL_60MHz );
GPIOA_ModeCfg(GPIO_Pin_All,GPIO_ModeIN_Floating);
GPIOB_ModeCfg(GPIO_Pin_All,GPIO_ModeIN_Floating);
WWDG_SetCounter(0x0);
WWDG_ResetCfg(ENABLE);
#ifdef DEBUG
GPIOA_SetBits( bTXD1 );
GPIOA_ModeCfg( bTXD1, GPIO_ModeOut_PP_5mA );
UART1_DefInit( );
#endif
PRINT("s\n");
{
//PRINT("%s\n",VER_LIB);
}
WWDG_SetCounter(0x0);
CH57X_BLEInit( );
RF_RoleInit( );
rf_init();
RF_Tx( TX_DATA,TX_DATA_SIZE, 0x02, 0xFF );
RF_Tx( TX_DATA,TX_DATA_SIZE, 0x02, 0xFF );
RF_Tx( TX_DATA,TX_DATA_SIZE, 0x02, 0xFF );
WWDG_SetCounter(0x0);
/*while(1){
DelayMs( 200 );
RF_Tx( TX_DATA,TX_DATA_SIZE, 0x02, 0xFF );
}*/
SLEEP:
PRINT( "e\n" );
//PRINT( "shut down mode sleep\n" );
RTC_TMRFunCfg(SEND_PERIOD);
PWR_PeriphWakeUpCfg( ENABLE, RB_SLP_RTC_WAKE, Edge_ShortDelay );
DelayUs( 2 );
LowPower_Shutdown( 0 ); //全部断电,唤醒后复位
return 0;
}
用573发送蓝牙每隔4秒数据,持续20来分钟就再也收不到数据。代码里的看门狗功能是后加的,现在正在测试。但是不加看门狗的情况下,会出现单片机死机,接串口线也收不到打印数据。现在很怕是休眠状态下死机,因为573看门狗非独立,依赖系统时钟。如果是RTC死机的话这该怎么办,电池供电的长期用产品