R8_GLOB_RESET_KEEP無(wú)效

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("%s\n",VER_LIB);

? ? }

? ? PRINT("R8_GLOB_RESET_KEEP:%d\n",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 );? ? ? ? ? ? ? ? ? ? ? ? ? //全部斷電,喚醒后復(fù)位


? ? return 0;

}

R8_GLOB_RESET_KEEP無(wú)效一直是0

忘記說(shuō)了,是CH573


你對(duì)這個(gè)寄存器的用法理解錯(cuò)了。

看下描述,這個(gè)寄存你可以當(dāng)成1個(gè)存儲(chǔ)寄存器來(lái)用,他里面的值不受描述中狀態(tài)的影響,默認(rèn)值就是0.

image.png


我覺(jué)你想找的是復(fù)位狀態(tài)寄存器,用來(lái)看上電狀態(tài)的,你看下面這個(gè)寄存器
image.png


我沒(méi)理解錯(cuò),我就是把他當(dāng)成一個(gè)變量,休眠喚醒后看上一次是什么值,來(lái)進(jìn)行判斷LED是亮還是暗


這個(gè)問(wèn)題有人能解決一下嗎


R8_GLOB_RESET_KEEP這個(gè)寄存器你有對(duì)其寫(xiě)入數(shù)據(jù)嗎?看你貼的代碼沒(méi)有寫(xiě)操作僅僅是讀,該寄存器復(fù)位值是0,如果不對(duì)其寫(xiě)操作,默認(rèn)一直是0的。


?SYS_ResetKeepBuf(1);

這句就是寫(xiě)


請(qǐng)貼出工程或代碼。


#define SYS_ResetKeepBuf( d )(R8_GLOB_RESET_KEEP = d)/* 不受手動(dòng)復(fù)位、 軟件復(fù)位、 看門(mén)狗復(fù)位或者普通喚醒復(fù)位的影響 */

這個(gè)是SDK里面的CH57X_SYS.H里面,工程就上面那么多代碼


之前就發(fā)現(xiàn)這個(gè)寄存器沒(méi)法用,我就寫(xiě)了上面這個(gè)最簡(jiǎn)單的工程測(cè)試,4S LED亮然后暗,通過(guò)R8_GLOB_RESET_KEEP 來(lái)判斷,如果0那么暗同時(shí)寫(xiě)1,如果亮那么同時(shí)寫(xiě)0


icon_rar.gifCH573_Reg_ZPF.rar

附件測(cè)試LOG如下,每次復(fù)位都會(huì)改變,并不會(huì)出現(xiàn)一直保持不變:

image.png

操作事項(xiàng):USB轉(zhuǎn)串口工具的RX連接PA9,注意工具和測(cè)試板共地。

--end


多謝我測(cè)試一下


icon_rar.gifCH573_Reg_ZPF_修改.zip

不行,因?yàn)槟銢](méi)有加RTC喚醒,我進(jìn)入掉電模式,然后RTC喚醒,這個(gè)值就不會(huì)變。手冊(cè)是說(shuō)除了上電復(fù)位,其他復(fù)位都不變的。


我猜測(cè)這個(gè)問(wèn)題和我另外一個(gè)問(wèn)題有點(diǎn)關(guān)系。另外一個(gè)問(wèn)題是下電模式RTC無(wú)法喚醒,一開(kāi)始不會(huì),運(yùn)行20來(lái)分鐘就無(wú)法喚醒死機(jī)


icon_rar.gifCH573_Reg_ZPF_修改2.zip

上面工程沒(méi)有使用內(nèi)部LSI,這個(gè)工程我把他加上了


請(qǐng)參考CH573DS文檔描述。

image.png


image.png

所以?R8_GLOB_RESET_KEEP一直保持為0,因?yàn)槊看螆?zhí)行完LowPower_Shutdown( 0 ); 都是對(duì)芯片重新上電,上電復(fù)位RPOR,從而導(dǎo)致了R8_GLOB_RESET_KEEP復(fù)位。


只有登錄才能回復(fù),可以選擇微信賬號(hào)登錄

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