582M 開啟休眠后adc數(shù)據(jù)異常

在原代碼的基礎(chǔ)上 開啟休眠??

HAL_SLEEP=TRUE

image.png


開啟前的adc采集數(shù)據(jù):

image.png


開啟后的adc采集數(shù)據(jù)


image.png


請問這個怎么解決呢?

產(chǎn)品藍牙功能需要一直開啟。

看了帖子,貌似只能 設(shè)置 HAL_SLEEP = TRUE 來讓系統(tǒng)自動休眠。 不能手動進行休眠控制。

請問還有什么細節(jié)可以優(yōu)化功耗嗎? 功耗最低能做到多少呢?


ADC+BLE的測量可以通過TMOS任務(wù)完成,需要在每次采集之前重新選擇一下通道。

開啟休眠控制可以通過開始HAL_SLEEP完成,同時可以使能DCDC。藍牙的功耗需要進一步降低可以對連接間隔和廣播間隔進行處理,將這兩個參數(shù)拉大一些,功耗會相應(yīng)的變小。

這里提供間隔的講解,可以參考一下:

BLE廣播間隔和連接間隔(CH573) - SweetTea_lllpc - 博客園 (cnblogs.com)




每次ADC采集都重新選擇adc通道, adc讀數(shù)正常了。

開啟 HAL_SLEEP后。 我還有一個 串口接收中斷 無法觸發(fā)。 這個怎么辦呢


開啟睡眠后的喚醒方式只有兩種,RTC喚醒和GPIO中斷喚醒,因此需要先將串口切換為GPIO進行喚醒再接收數(shù)據(jù)。

這里提供一個博客參考:

CH579 CH573 CH582 串口切換GPIO睡眠喚醒操作 - debugdabiaoge - 博客園 (cnblogs.com)


我沒有主動進入休眠。 只開啟了?HAL_SLEEP = TRUE


我的程序里面有一個串口接收中斷 用來通訊的。 調(diào)試正常。

在開啟??HAL_SLEEP = TRUE? 后, 接收中斷就無法接收到數(shù)據(jù)了。??

我應(yīng)該怎么處理???


沒有主動進休眠,開啟HAL_SLEEP = TRUE 也是進休眠的,休眠后只有兩種喚醒方式,參考上面的回答并按照博客里的操作即可。


串口通過三極管接在GPIO上就解決了

喚醒就解決了


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

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