IRSND Ausgabesignal invertieren

Gast #5055266
Lesenswert?
• ▲
▼
Hallo an die Forumsgemeinde.

Ich versuche aktuell mit meinem AVR NET IO und dem ATmega32 ein RECS80 
Protokoll nachzubilden. Auf dem Bild im Anhang sieht man, dass das 
wunderbar funktioniert, mein Problem ist aber, dass ich das Signal 
invertiert benötige.

Also, dass der Pegel am Ausgang (OC0, PB3) dauerhaft auf 5V liegt und 
die Signalsprünge von 5V -> 0V -> 5V gehen, nicht 0V -> 5V -> 0V.

Ist das Softwareseitig zu lösen? Müsste doch eigentlich funktionieren, 
ich komme aber nicht darauf...

mfg

Marius
Angehängte Dateien:
Moderator Persönliche Seite #5055271
Lesenswert?
• ▲
▼
Dafür ist nur eine Zeile in irsnd.c - Funktion irsnd_off() - zu ändern:

Alt:
1
        IRSND_PORT  &= ~(1<<IRSND_BIT);                 // set IRSND_BIT to low
Neu:
1
        IRSND_PORT  |= 1<<IRSND_BIT;                 // set IRSND_BIT to high


In irsnd_on() dagegen ist keine Änderung nötig, da hier sowieso 
moduliert wird, d.h. der Pegel wechselt sowieso die ganze Zeit.

Edit:
Dasselbe muss nochmal in irsnd_init() gemacht werden:
Alt:
1
        IRSND_PORT &= ~(1<<IRSND_BIT);                 // set IRSND_BIT to low
Neu:
1
        IRSND_PORT |= 1<<IRSND_BIT;                 // set IRSND_BIT to high

Damit der Ruhezustand auch vor dem Senden des ersten Frames umgestellt 
ist.

Vorsicht beim Raussuchen der beiden Stellen im Source. Es ist jeweils 
der #else Zweig (AVR) - nicht zu verwechseln mit _AVR_XMEGA_.

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.