ESP8266 problém měření interního Vcc

Wiring, C++, C, Java, ...
Pravidla fóra
Toto subfórum slouží k řešení obecných otázek kolem programování (konstrukce, knihovny, alokace paměti, ...)
Odpovědět
jankop
Příspěvky: 1029
Registrován: 06 zář 2017, 20:04
Reputation: 0
Bydliště: Brno
Kontaktovat uživatele:

ESP8266 problém měření interního Vcc

Příspěvek od jankop » 28 pro 2020, 16:38

Ahoj kamarádi, narazil jsem na problém s kterým si nevím rady.
Mám pěkný prográmek pro "ESP8266 as Arduino" se senzorem HTU21. Odesílá data na tmep.cz a zároveň lokálně zobrazuje všemožné hodnoty na webové stránce, kterou si sám generuje. Chci číst hodnotu vnitřního napájecího napětí čipu. Testovací prográmek dle dokumentace kompilovaný v Arduino IDE:

Kód: Vybrat vše

// Tested with Arduino IDE 1.8.13 and ESP8266 core v.2.7.4
float voltage;
void setup() {
  // put your setup code here, to run once:
ADC_MODE(ADC_VCC); 
}
void loop() {
  // put your main code here, to run repeatedly:
voltage = ESP.getVcc(); 
}
Hlásí tuto chybu:
In file included from C:\Users\Pavel\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.7.4\cores\esp8266/Arduino.h:246:0,
from sketch\sketch_dec28a.ino.cpp:1:
C:\Users\Pavel\Documents\Arduino\sketch_dec28a\sketch_dec28a.ino: In function 'void setup()':
C:\Users\Pavel\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.7.4\cores\esp8266/Esp.h:76:49: error: a function-definition is not allowed here before '{' token
#define ADC_MODE(mode) int __get_adc_mode(void) { return (int) (mode); }
^
C:\Users\Pavel\Documents\Arduino\sketch_dec28a\sketch_dec28a.ino:5:1: note: in expansion of macro 'ADC_MODE'
ADC_MODE(ADC_VCC);
^
exit status 1
Nastala chyba při kompilaci u desky Generic ESP8266 Module.
Je to snad chyba v hlavičkovém souboru Esp.h, který přikládám. Ale já tu chybu prostě nevidím. Dokážete s tím prosím někdo hnout? Hodně by mi to pomohlo.
Děkuji
Přílohy
Esp.h
(5.6 KiB) Staženo 107 x

jankop
Příspěvky: 1029
Registrován: 06 zář 2017, 20:04
Reputation: 0
Bydliště: Brno
Kontaktovat uživatele:

Re: ESP8266 problém měření interního Vcc

Příspěvek od jankop » 28 pro 2020, 17:00

Tak jsem to nakonec našel. Chyba byla ve mě. Považoval jsem to za běžnou funkci a dal jsem ADC_MODE(ADC_VCC); do setup().
Ale ona to není běžná funkce a musí stát mimo jakoukoliv funkci, tudíž na začátku programu. Po přesunutí už to funguje.

Odpovědět

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 14 hostů