Hallo, da der Autor den Code nicht mehr weiter pflegt pinne ich es hier mal rein. In der beliebten VirtualWire ist ein Fehler was den Attiny84 in die Botanik schickt. Die Lösung habe ich in irgendeinem Forum tief vergraben gefunden und zitiere sie daher hier Quelle: GPL_v2 Lizenz http://www.airspayce.com/mikem/arduino/VirtualWire/index.html In der VitualWire.cpp muss direkt nach dem #include ..... #undef TIMER_VECTOR #ifdef _AVR_ATtiny85_ # define TIMER_VECTOR TIM0_COMPA_vect #elif defined(_AVR_ATtiny84_) || defined(_AVR_ATtiny24_) || defined(_AVR_ATtiny44_) # define TIMER_VECTOR TIM1_COMPA_vect #else // Assume Arduino Uno (328p or similar) # define TIMER_VECTOR TIMER1_COMPA_vect #endif // _AVR_ATtiny85_ später im Code muss dann ca ab zeile 580 // This is the interrupt service routine called when timer1 overflows // Its job is to output the next bit from the transmitter (every 8 calls) // and to call the PLL code if the receiver is enabled //ISR(SIG_OUTPUT_COMPARE1A) #if defined (ARDUINO) // Arduino specific SIGNAL(TIMER_VECTOR) // FIXED !!! stehen, da der Autor TIM1_COMPA und TIMER1_COMPA verwechselt hat. Nettes Beispiel dafür, dass viele Codes im Netz gar nicht für alle Anwendungen getestet wurden.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.