CH592 下電模式喚醒時間問題

因為我的項目對時間要求比較高,綜合了一下最近的測試結(jié)果,想請問官方兩個問題:

先是場景:

我的喚醒IO口是B12,B14,上升沿觸發(fā),如下:

??? GPIOB_ModeCfg(1<<12, GPIO_ModeIN_PD);
??? GPIOB_ITModeCfg(1<<12, GPIO_ITMode_RiseEdge);
??? //喚醒 WUK
??? GPIOB_ModeCfg(1<<14, GPIO_ModeIN_PD);
??? GPIOB_ITModeCfg(1<<14, GPIO_ITMode_RiseEdge);
??? PFIC_EnableIRQ(GPIO_B_IRQn);

????PWR_PeriphWakeUpCfg(ENABLE, RB_SLP_GPIO_WAKE, Short_Delay);

設(shè)置睡眠時我是否可以關(guān)掉B12的中斷,這里沒有找到關(guān)單個pin的函數(shù)?


問題1:我在LowPower_Shutdown(0)函數(shù)前判斷了B12,B14的電平,確保不在喚醒狀態(tài)。但因為我不確保B12、B14何時中斷,看論壇里的帖子,如果無法正確睡眠,會進(jìn)入idle模式?


問題2:之前使用的時Long_Delay參數(shù),有時候會無法響應(yīng),這里改成Short_Delay,效果會好很多。對這個參數(shù)不是很理解,庫里只有01,00選項,為了安全我是否可以設(shè)置到10?Tsuclk和1個周期,大概是多少?對PCB和晶振是否會有一定的要求?

1.png

引腳中斷使能位:

image.png

GPIO中斷喚醒是主動觸發(fā)的。

進(jìn)入idle是因為喚醒之后準(zhǔn)備再次睡眠,但是喚醒GPIO的狀態(tài)不是懸空的。遇到此情況可以將GPIO的喚醒方式修改為相反。例如上升沿喚醒,喚醒后PB12一直接在vcc引腳上,則需要再進(jìn)入中斷服務(wù)的時候?qū)⒂|發(fā)方式修改為下降沿。這樣可以正確進(jìn)入睡眠。

建議用longdelay,使用shortdelay喚醒后的代碼需要再RAM中運(yùn)行因此不建議此方式。

longdelay喚醒是一定會響應(yīng)的,可以使用PM例程測試。


shortdelay不能保證一定會響應(yīng)嗎?



確保喚醒之后的所有代碼都放在RAM中運(yùn)行。建議使用longdelay。


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

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