ESP8266: VCC und A0 messen?

Gast #7215620
Lesenswert?
• ▲
▼
Es gibt zwei Modi des ESP8266, um die Versorgungsspannung bzw. die 
Spannung am Eingang A0 zu messen. Der gewünschte Modus muss im Flash 
abgelegt abgelegt werden (siehe Sript unten) unten. D. h. eine Routine 
schaut vor einer Messung im Flash nach welcher Modus gewählt wurde.

Kann man das Programmieren des Flashs umgehen und entsprechende 
Funktionen direkt aufrufen und wie (Codeschnipsel)?
1
# Quelle: https://micropython.org
2

3
import esp
4
from flashbdev import bdev
5
import machine
6

7
ADC_MODE_VCC = 255          ## Modus VCC des ESP8266
8
ADC_MODE_ADC = 0            ## Modus Spannung am A0-Eingang 
9

10
def set_adc_mode(mode):
11
    sector_size = bdev.SEC_SIZE
12
    flash_size = esp.flash_size() # device dependent
13
    init_sector = int(flash_size / sector_size - 4)
14
    data = bytearray(esp.flash_read(init_sector * sector_size, sector_size))
15
    if data[107] == mode:
16
        return  # flash is already correct; nothing to do
17
    else:
18
        data[107] = mode  # re-write flash
19
        esp.flash_erase(init_sector)
20
        esp.flash_write(init_sector * sector_size, data)
21
        print("ADC mode changed in flash; restart to use it!")
22
        return
23

24
from machine import ADC
25
ADC(1).read()

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.