Stránka 1 z 1

ESP 8266 Node MCU - Interrupt problém s knihovnou

Napsal: 02 bře 2022, 14:01
od Xandys
Zdravím všechny, mám problém s jedním projektem s Node MCU ESP8266.
V projektu potřebuji více odpočtů najednou. Použil jsem funkci setupInterrupt(). Při nahrávání mám stále chybovou hlášku: expected constructor, destructor, or type conversion before '(' token.
Zjistil jsem, že je zřejmě problém s knihovnou ESP8266WiFi.h, protože v desce Uno mi to normálně funguje.
Zde přidávám kód, který mi IDE označuje jako chybu.
Netušíte někdo , kde je problém?
Děkuji.

void setupInterrupt()
{

TIMSK2 &= ~(1<<TOIE2);

TCCR2A &= ~((1<<WGM21) | (1<<WGM20));
TCCR2B &= ~(1<<WGM22);

ASSR &= ~(1<<AS2);

TIMSK2 &= ~(1<<OCIE2A);
TCCR2B |= (1<<CS22) | (1<<CS20); // Set bits
TCCR2B &= ~(1<<CS21); // Clear bit
tcnt2 = 131;
TCNT2 = tcnt2;
TIMSK2 |= (1<<TOIE2);
}


ISR(TIMER2_OVF_vect) { //TENTO ŘÁDEK MÁM PROBARVENÝ JAKO CHYBU

TCNT2 = tcnt2;

if(time1 > 0)
{
time1--;
}
if(time2 > 0)
{
time2--;
}
if(time3 > 0)
{
time3--;
}}

Re: ESP 8266 Node MCU - Interrupt problém s knihovnou

Napsal: 02 bře 2022, 14:14
od ondraN
Podle názvů registrů, mi to přijde jako kód pro procesor 328P. Ten není v žádném případě kompatibilní s tím v ESP.

Re: ESP 8266 Node MCU - Interrupt problém s knihovnou

Napsal: 02 bře 2022, 14:34
od martinius96
Do tých registrov sa nevyznám, ak sú z AVR pre Arduino, tak to fungovať nebude, lebo je to pre inú architektúru mikrokontroléra.
V pár príkladoch pre ESP8266, kde bola interrupt rutina bola doplnená nad void setup() deklarácia funkcie s atribútom ICACHE_RAM_ATTR, možno to pomôže, ak nie je chyba v použitých registroch:

Kód: Vybrat vše

void ICACHE_RAM_ATTR setupInterrupt();           // to use ESP8266 library >v2.5.0

Re: ESP 8266 Node MCU - Interrupt problém s knihovnou

Napsal: 02 bře 2022, 14:45
od Xandys
děkuji, zkusím to.
Ještě pogooglim, nebo hold vyřeším odpočty jinak.

Re: ESP 8266 Node MCU - Interrupt problém s knihovnou

Napsal: 02 bře 2022, 18:01
od jankop
O jakých časových intervalech se bavíme? Jestli by na to nestačil obyčejnej Ticker nebo třeba Interval od Xpablo.

Re: ESP 8266 Node MCU - Interrupt problém s knihovnou

Napsal: 03 bře 2022, 19:13
od Caster
Pokud v tom nejsi 100% kovanej, použij příslušnou knihovnu pro Arduino. Snadněji se s registry pracuje v C++ v příslušném IDE pro daný procesor STM32Cube (STM32) nebo MPLAB X IDE (AVR).

Re: ESP 8266 Node MCU - Interrupt problém s knihovnou

Napsal: 04 bře 2022, 18:06
od Xandys
Jedná se cirka o šestiminutové odpočty. Kouknu se na ty dvě možnosti.
S registry nemám vůbec žádné zkušenosti.

Re: ESP 8266 Node MCU - Interrupt problém s knihovnou

Napsal: 06 bře 2022, 18:03
od Xandys
vyřešeno přes Ticker, děkuji všem