WCH沁恒单片机
直播中

贾熹

7年用户 1600经验值
私信 关注
[问答]

CH573的R8_GLOB_RESET_KEEP无效是什么原因?

int main()
{
    SetSysClock( CLK_SOURCE_PLL_60MHz );
    GPIOA_ModeCfg(GPIO_Pin_All,GPIO_ModeIN_Floating);
    GPIOB_ModeCfg(GPIO_Pin_All,GPIO_ModeIN_Floating);
#ifdef DEBUG
    GPIOA_SetBits( bTXD1 );
    GPIOA_ModeCfg( bTXD1, GPIO_ModeOut_PP_5mA );
    UART1_DefInit( );


    GPIOB_ModeCfg( GPIO_Pin_15, GPIO_ModeOut_PP_5mA );
#endif
    PRINT("start.n");
    {
        PRINT("%sn",VER_LIB);
    }
    PRINT("R8_GLOB_RESET_KEEP:%dn",R8_GLOB_RESET_KEEP);
    if(R8_GLOB_RESET_KEEP == 0){
        SYS_ResetKeepBuf(1);
        GPIOB_SetBits( GPIO_Pin_15 );
    }else{
        SYS_ResetKeepBuf(0);
        GPIOB_ResetBits( GPIO_Pin_15 );
    }
    /*CH57X_BLEInit( );
    RF_RoleInit( );
    rf_init();
    while(1){
        DelayMs( 200 );
        RF_Tx( TX_DATA,TX_DATA_SIZE, 0x02, 0xFF );
    }*/


    PRINT( "shut down mode sleep n" );
    RTC_TMRFunCfg(Period_4_S);
    PWR_PeriphWakeUpCfg( ENABLE, RB_SLP_RTC_WAKE, Edge_ShortDelay );
    DelayMs( 2 );
    LowPower_Shutdown( 0 );                          //全部断电,唤醒后复位


    return 0;
}
R8_GLOB_RESET_KEEP无效一直是0
  
  

回帖(2)

王国花

2022-8-31 10:30:16
你对这个寄存器的用法理解错了。
看下描述,这个寄存你可以当成1个存储寄存器来用,他里面的值不受描述中状态的影响,默认值就是0.



我觉你想找的是复位状态寄存器,用来看上电状态的,你看下面这个寄存器
举报

卢原继

2022-8-31 10:30:30
CH573_Reg_ZPF.rar
附件测试LOG如下,每次复位都会改变,并不会出现一直保持不变:

操作事项:USB转串口工具的RX连接PA9,注意工具和测试板共地。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分