ESP8266——CPU頻率更改和深度睡眠模式


1.電源控制

  ESP8266 能夠動態更改 CPU 頻率,並進入深度睡眠狀態。兩者都可用於管理功耗。

1.1 更改 CPU 頻率

  機器模塊具有獲取和設置 CPU 頻率的功能。要獲取當前頻率,應:

>>> import machine
>>> machine.freq()
80000000

  默認情況下,CPU 以 80MHz 的速度運行。如果您需要更多的處理能力,可以將其更改為 160MHz,但犧牲了當前消耗:

>>> machine.freq(160000000)
>>> machine.freq()
160000000

  您可以在代碼執行大量處理時更改為更高的頻率,然后在代碼完成時更改回。

1.2深度睡眠模式

  深度睡眠模式將關閉 ESP8266 及其所有外圍設備,包括 WiFi(但不包括用於喚醒芯片的實時時鍾)。這大大降低了電流消耗,是制造可在電池上運行一段時間的設備的好方法。

要能夠使用深度睡眠功能,您必須將 GPIO16 連接到復位引腳(NodeMCU開發板板上的 RST)。然后,以下代碼可用於睡眠和喚醒設備:

import machine

# configure RTC.ALARM0 to be able to wake the device
rtc = machine.RTC()
rtc.irq(trigger=rtc.ALARM0, wake=machine.DEEPSLEEP)

# set RTC.ALARM0 to fire after 10 seconds (waking the device)
rtc.alarm(rtc.ALARM0, 10000)

# put the device to sleep
machine.deepsleep()

   請注意,當芯片從深度睡眠喚醒時,它完全復位,包括所有內存。啟動腳本將照常運行,您可以將代碼放入其中,以檢查重置原因,如果設備剛剛從深度睡眠中喚醒,則可能會執行不同操作。例如,要打印重置原因,您可以使用:

if machine.reset_cause() == machine.DEEPSLEEP_RESET:
    print('woke from a deep sleep')
else:
    print('power on or hard reset')

 注經測試深度睡眠模式存在些問題!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM