CH573F芯片死機(jī)問題

項(xiàng)目中使用一批CH573F芯片,boot版本號(hào)v2.8,芯片經(jīng)常死機(jī),尤其是進(jìn)入deep sleep模式后總是無法喚醒。軟件當(dāng)中已使用看門狗,在主循環(huán)框架里喂狗,發(fā)現(xiàn)這種死機(jī)無法觸發(fā)看門狗復(fù)位,說明不是軟件問題。將芯片更換為以前的料,boot版本是v2.7,系統(tǒng)正常工作,無死機(jī)現(xiàn)象。芯片死機(jī)后,各個(gè)電源管腳電壓均正常。

__attribute__((section(".highcode")))

void Main_Circulation()

{

? ? while (1)

? ? {

? ? ? ? TMOS_SystemProcess();

? ? ? ? WWDG_SetCounter(0);

? ? }

}


可以測一下芯片不工作時(shí)候的電流,可能是沒完全喚醒。
有2個(gè)思路
一:喚醒的IO要加上濾波電容(比如0.1uF)用于按鍵消抖;

二:軟件上,比如設(shè)置GPIO上升沿喚醒,那么進(jìn)入睡眠前IO必須是低電平,如果是高,就要等IO變低后才能調(diào)用休眠。
另外休眠函數(shù)?LowPower_Sleep( RB_PWR_RAM30K | RB_PWR_EXTEND ); RAM和擴(kuò)展要保持供電

在休眠喚醒函數(shù)建議加上讀Flash或者dataflash操作(預(yù)存一個(gè)值,如果都回來正常,就可以正常執(zhí)行)
image.png


說錯(cuò)了,我用的是shutdown模式

? ? WWDG_SetCounter(0);

? ? PFIC_EnableIRQ(GPIO_A_IRQn);? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? /* PA12 KEY PA13 USB PA10 TOUCHOUT*/

? ? PWR_PeriphWakeUpCfg(ENABLE, RB_SLP_GPIO_WAKE, Edge_ShortDelay);

? ? DelayMs(2);

? ? LowPower_Shutdown(0);

? ? HSECFG_Current(HSE_RCur_100);



shut休眠也是同樣的
一:喚醒的IO要加上濾波電容(比如0.1uF)用于按鍵消抖;
二:軟件上,比如設(shè)置GPIO上升沿喚醒,那么進(jìn)入睡眠前IO必須是低電平,如果是高,就要等IO變低后才能調(diào)用休眠。
另外休眠函數(shù)?LowPower_Shutdown( RB_PWR_RAM30K | RB_PWR_EXTEND ); RAM和擴(kuò)展要保持供電


這樣功耗很大吧


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

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