spezielles serielles Protokoll in Bascom

Gast #1727210
Lesenswert?
• ▲
▼
Unsere Waschmaschine streikt mal wieder, laut Service-Manual gibt es 
eine serielle Ausgabe von Fehlercodes, um zu sehen was defekt ist. Es 
kommt jedoch ein sehr eigenartiges Protokoll zum Einsatz:

OpenCollector 1 schaltet durch,
OpenCollector 2 überträgt den Fehlercode als vorzeichenlosen 
5-Bit-Binärwert mit einer Bitdauer von 10ms und einer Pause von 70ms,
OpenCollector 1 sperrt wieder.

Ich möchte die Übertragung nun mit einem AVR & Bascom auswerten, dabei 
sollte die Übertragung von OC2 in eine Byte-Variable geschrieben werden, 
leider scheitere jedoch immer an dem eigensinnigen Protokoll.  Kann mir 
jemand erklären, wie ich das am Besten löse?
Das Timing scheint laut Oszi um etwa 20% zu schwanken.

Hier das Protokoll für Fehlernummer 18, so wie es im Manual dargestellt 
wird:

OC1 01001 OC1
Gast #1727280
Lesenswert?
• ▲
▼
>Hier das Protokoll für Fehlernummer 18, so wie es im Manual dargestellt
>wird:

>OC1 01001 OC1

Bäh!
Auch noch umgekehrte Bitreihenfolge.

Zum Einlesen:
Den OC1 auf einen flankengetriggerten Interrupt-Eingang legen.
Wenn der Interrupt ausgelöst wird, einen Timer starten, der nach 5ms 
auslöst.
In der ISR den Pegel an OC2 festsellen und diesen speichern.
Den Timer-Vergleichswert dann auf 10ms setzen, damit in der Mitte des 
zweiten und der folgenden Bits der Interrupt ausgelöst wird.
Beim Timer-Interrupt dann den Pegel des OC2 speichern.
Das macht man dann, bis alle Bits eingelesen wurden.

Sowas nennt sich auch Soft-UART...

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.