mikrocontroller.net

Forum: Projekte & Code Korrigierte "VirtualWire" Library für Attiny84 / 85


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
Autor: Christian J. (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.