ch583 通過 sysTick 喚醒 LowPower_Idle ?

平臺(tái):CH583EVT

原始代碼:


Screenshot_2023-11-03_16-06-00.png


設(shè)置 PB4 (Key 按鍵) 作為喚醒IO,結(jié)果正常,按下后,系統(tǒng)喚醒,進(jìn)入 while(1) 循環(huán)。


但如果啟用第 14 行

SysTick_Config(GetSysClock()/60);

使能了 SysTick 滴答中斷,則未按下 PB4 ,程序也直接被喚醒,進(jìn)入 while(1) 循環(huán)。


按照手冊(cè)來說,sysTick 滴答中斷并不是手冊(cè)上說明的喚醒事件(I/O、RTC、BAT、USB),如何解釋這一現(xiàn)象?


代碼鏈接:https://github.com/aguegu/ch583/blob/15818b57c2a7e0cc06e893f6cd4256254b98e313/examples/power/main.c

你好,使用systick后,則會(huì)一直生效的, 除非遇到①系統(tǒng)時(shí)鐘停止;②手動(dòng)關(guān)閉systick。

idle模式下,系統(tǒng)時(shí)鐘還在開啟的,因此systick還處于生效的狀態(tài)。


感謝確認(rèn)。systick 中斷生效沒有問題。


但是它可以喚醒 idle 模式的話, 也無視 PWR_PeriphWakeUpCfg 的話,手冊(cè)是不是可以修訂一下。


實(shí)測(cè)發(fā)現(xiàn),sysTick 中斷可以喚醒 idle,但不會(huì)喚醒 halt 以及更深層次的 sleep。


經(jīng)過進(jìn)一步測(cè)試,一般中斷(如串口中斷)都能將單片機(jī)從 idle 模式喚醒,不需要 PWR_PeriphWakeUpCfg,這與正常認(rèn)知里對(duì) wfi() 的應(yīng)用是一致的。但不知道為什么數(shù)據(jù)手冊(cè)里面把喚醒 idle 的事件局限得那么小。


好的,因?yàn)閕dle模式下時(shí)鐘是保持運(yùn)轉(zhuǎn)的。該點(diǎn)我們會(huì)反饋?zhàn)⒁庠谑謨?cè)中標(biāo)注。


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

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