mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik spezielles serielles Protokoll in Bascom


Autor: hmm (Gast)
Datum:

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

Autor: STK500-Besitzer (Gast)
Datum:

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

Autor: hmm (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke, werde ich mal versuchen.

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.