tmos有什么方法可以看到每個(gè)0.625ms內(nèi)有多少時(shí)間是空閑狀態(tài)嗎

我使能HAL_KEY后,程序就不會(huì)再進(jìn)入函數(shù)

CH58X_LowPower();了,難道是我按鍵掃描耗時(shí)太長了嗎,,有什么方法可以看到每個(gè)tmos循環(huán)中執(zhí)行完所有事件耗時(shí)嗎

建議參考PM例程,使用GPIO中斷的方式檢測按鍵。

如果一定要用TMOS系統(tǒng)自帶的按鍵檢測,可以參考博客:在TMOS系統(tǒng)中添加按鍵檢測功能 - JayWell - 博客園 (cnblogs.com)

上述兩種方式,一種對(duì)應(yīng)GPIO喚醒,另一種對(duì)應(yīng)RTC喚醒,都是可以在使能HAL_SLEEP的情況下進(jìn)休眠的。

如何判斷沒有進(jìn)入CH58X_LowPower函數(shù)的,是在CH58X_LowPower中添加了串口打印嗎?如果是每次進(jìn)入CH58X_LowPower函數(shù)都立即return了,執(zhí)行不到sleep休眠,可能是按鍵掃描頻次太高或是TMOS事件阻塞太久。

如果是一次都沒有進(jìn)入CH58X_LowPower,注意查看HAL_SLEEP宏有沒有配置好。


image.png

HAL_SLEEP定義了,使能按鍵就不打印,關(guān)掉按鍵就可以打印這句


我設(shè)置了每次循環(huán)都執(zhí)行一次key事件,即使這個(gè)事件中沒有任何操作,也不會(huì)進(jìn)入CH58X_LowPower()

image.png


如果設(shè)置為每10次執(zhí)行一次key事件,就可以正常進(jìn)入CH58X_LowPower()了。

image.png


按理來說如果key事件內(nèi)沒有任何操作的話,不是幾乎一瞬間就執(zhí)行完的嗎,怎么會(huì)影響到進(jìn)入睡眠呢


周期單位給1,太快了。協(xié)議棧是時(shí)間執(zhí)行完畢后沒有事件了,才會(huì)執(zhí)行CH58X_LowPower接口;并且CH58X_LowPower接口里也會(huì)有判斷,距離下一次事件的間隔小于1ms,不會(huì)休眠。

針對(duì)休眠+鍵掃的功能,用HAL_KEY高頻次執(zhí)行事件的方案太浪費(fèi)了,參考鍵盤方案中的邏輯比較合適:用GPIO中斷來檢測是否有按鍵被按下;按下后短時(shí)間內(nèi),使用idle等級(jí)的休眠,加快連續(xù)按鍵之間的反應(yīng)速度;判斷長時(shí)間沒有按鍵按下了,再用sleep休眠。


懂了,另外ch583芯片除了手冊(cè)和藍(lán)牙開發(fā)說明,還有更詳細(xì)的手冊(cè)嗎,感覺這兩個(gè)內(nèi)容不夠全

image.png


需要哪些資料呢?針對(duì)具體問題,網(wǎng)上有不少博主寫過攻略;另外論壇的往期帖子也可以參考,右上角搜索一下關(guān)鍵字。

CH579 CH573 CH582 芯片使用知識(shí)分享目錄 - debugdabiaoge - 博客園 (cnblogs.com)


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

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