Kod funkar till Arduino nano samt uno, ej till ESP8266

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
ludde_018
Inlägg: 50
Blev medlem: 27 juni 2011, 20:41:09

Kod funkar till Arduino nano samt uno, ej till ESP8266

Inlägg av ludde_018 »

Hallå!
Försöker få ner koden som funkar bra till mina uno och nano enheter, men får den inte att lira med ESP8266. Någon som är smartare än mig som sitter på en lösning eller kan hjälpa till att förklara varför det inte funkar.

Börjar först med ett urklipp från den delen som inte vill (ligger under Void Loop):

Kod: Markera allt

TCCR2A = 0;
TCCR2B = 1<<CS22 | 1<<CS21 | 1<<CS20;

//Timer2 Overflow Interrupt Enable
TIMSK2 |= 1<<TOIE2;
}
// ************************************************
// Timer Interrupt Handler
// ************************************************
SIGNAL(TIMER2_OVF_vect) 
{
if (opState == OFF)
{
Fel:
try:116: error: expected constructor, destructor, or type conversion before '(' token

SIGNAL(TIMER2_OVF_vect)

^

try.ino: In function 'void setup()':

try:107: error: 'TCCR2A' was not declared in this scope

TCCR2A = 0;

^

try:108: error: 'TCCR2B' was not declared in this scope

TCCR2B = 1<<CS22 | 1<<CS21 | 1<<CS20;

^

try:108: error: 'CS22' was not declared in this scope

TCCR2B = 1<<CS22 | 1<<CS21 | 1<<CS20;

^

try:108: error: 'CS21' was not declared in this scope

TCCR2B = 1<<CS22 | 1<<CS21 | 1<<CS20;

^

try:108: error: 'CS20' was not declared in this scope

TCCR2B = 1<<CS22 | 1<<CS21 | 1<<CS20;

^

try:111: error: 'TIMSK2' was not declared in this scope

TIMSK2 |= 1<<TOIE2;

^

try:111: error: 'TOIE2' was not declared in this scope

TIMSK2 |= 1<<TOIE2;

^

try.ino: At global scope:

try:116: error: expected constructor, destructor, or type conversion before '(' token

SIGNAL(TIMER2_OVF_vect)

^

exit status 1
expected constructor, destructor, or type conversion before '(' token



Koden i helhet:
https://learn.adafruit.com/sous-vide-po ... -enchilada

Tack på förhand!
Användarvisningsbild
lillahuset
Gått bort
Inlägg: 13969
Blev medlem: 3 juli 2008, 08:13:14
Ort: Norrköping

Re: Kod funkar till Arduino nano samt uno, ej till ESP8266

Inlägg av lillahuset »

Jag vet inget om Arduino eller C++ men tycker, med erfarenhet av C, att det ser ut som en saknad headerfil.
Mr Andersson
Inlägg: 1394
Blev medlem: 29 januari 2011, 21:06:30
Ort: Lapplandet

Re: Kod funkar till Arduino nano samt uno, ej till ESP8266

Inlägg av Mr Andersson »

Du kan inte använda AVR-register på en ESP.
Användarvisningsbild
lillahuset
Gått bort
Inlägg: 13969
Blev medlem: 3 juli 2008, 08:13:14
Ort: Norrköping

Re: Kod funkar till Arduino nano samt uno, ej till ESP8266

Inlägg av lillahuset »

Hehe, och jag som trodde Arduino dolde det för användarna i något slags kompatibilitetslager. Äntligen en poäng till Arduino. :)
ludde_018
Inlägg: 50
Blev medlem: 27 juni 2011, 20:41:09

Re: Kod funkar till Arduino nano samt uno, ej till ESP8266

Inlägg av ludde_018 »

Tackar för snabbt svar! Finns det sätt att gå runt det, eller är det bäst att använda annan hårdvara? Typ MKR1000?
Mr Andersson
Inlägg: 1394
Blev medlem: 29 januari 2011, 21:06:30
Ort: Lapplandet

Re: Kod funkar till Arduino nano samt uno, ej till ESP8266

Inlägg av Mr Andersson »

Jag har inte använt timers på ESP:n men google har massvis med exempel. https://circuits4you.com/2018/01/02/esp ... r-example/ kanske hjälper.
Användarvisningsbild
hawkan
Inlägg: 2586
Blev medlem: 14 augusti 2011, 10:27:40

Re: Kod funkar till Arduino nano samt uno, ej till ESP8266

Inlägg av hawkan »

Det bästa är väl att försöka förstå vad det är tänkt att timern ska göra
(alltså upplösning och hur ofta den ändras, eller del av PWM, ja vad den ska göra)
och sedan söka rätt på hur man gör det på esp8266.

Det kanske ser ut som att en interrupt ska genereras vid en viss tid?
Skriv svar