mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Decodierer in C


Autor: Johnny Knot (johnny_knoxville)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

Ich stehe vor einem Problem.
Ich möchte einen Decodierer in C realisieren, und habe ihn auch schon 
programmiert (sofern er denn richtig funktioniert).

Die Erklärung dazu wie folgt:

Ein Codierprogramm sendet mir über RS232 die kodierte Nachricht (siehe 
Anhang A1, in diesem Fall lautet die Nachricht "0A" und die kodierte 
Nachricht 0x000000AA).

Nun lies ich das im Mikrocontroller ein und springe bei CR in das 
Hauptprogramm, aber dazu siehe Anhang!

Nur mein Problem ist, das Werk funktioniert ist, und ich weiß auch 
garnicht, wo der Fehler liegt! >.<

Der Decodierer soll die Nachricht decodieren, Fehler erkennen und 
korrigieren. Wenn keine Fehler während der Übertragung aufgetreten sind 
respektive die Fehler korrigiert werden konnten, gibt der Decodierer das 
Zeichen a bzw. b aus, konnte die Nachricht nicht dekodiert werden, gibt 
er c aus. Zum Ende möchte ich noch die gesamte eingegebene Nachricht 
ausgeben (bei keinem Übertragungsfehler), das funktioniert jedoch, aber 
es kommen nicht die richtigen Werte heraus!

grüße

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
irgendwie fehlen die Anhänge

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Nur mein Problem ist, das Werk funktioniert ist, und ich weiß auch
> garnicht, wo der Fehler liegt! >.<

Ohne Dir zu nahe treten zu wollen: Hä?

Autor: Johnny Knot (johnny_knoxville)
Datum:
Angehängte Dateien:
  • preview image for A1.JPG
    A1.JPG
    120 KB, 165 Downloads

Bewertung
0 lesenswert
nicht lesenswert
anhänge

Autor: Johnny Knot (johnny_knoxville)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Rufus t. Firefly schrieb:
>> Nur mein Problem ist, das Werk funktioniert ist, und ich weiß auch
>> garnicht, wo der Fehler liegt! >.<

Nur mein Problem ist, das Werk funktioniert nicht, und ich weiß auch
garnicht, wo der Fehler liegt!

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Johnny Knot schrieb:
> Der Decodierer soll die Nachricht decodieren, Fehler erkennen und
> korrigieren.

Bei seriellen Daten kann man keine Fehler korrigieren.
Wenn die Verbindung gestört ist, gehen alle Bits unter, auch das 
Startbit und damit die Synchronisation.


Fehler korrigieren kann man nur Daten, die parallel vorliegen, z.B. auf 
einer CD.


Peter

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
das sieht schon mal sehr fragwürdig aus

 if(exwert = 0)

Autor: Johnny Knot (johnny_knoxville)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Peter Dannegger schrieb:
> Bei seriellen Daten kann man keine Fehler korrigieren.
> Wenn die Verbindung gestört ist, gehen alle Bits unter, auch das
> Startbit und damit die Synchronisation.

Die Fehler werden in einem Programm simuliert, siehe Anhang.

Autor: Johnny Knot (johnny_knoxville)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Peter schrieb:
> if(exwert = 0)

oh, eher ==

Autor: Johnny Knot (johnny_knoxville)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Niemand eine Idee? Oder guckt ihr noch? :-)

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie wärs mit ner verbalen Beschreibung, was das Programm machen soll.
Es soll was codiert werden, nach welcher Vorschrift?
Es sollen Fehler korrigiert werden, wie?


Warum müssen Leute immer Zeilen schinden, man scrollt sich ja tot.
Betreibst Du Deinen Monitor um 90° gedreht?
if(exwert == 1 || 2 || 4 || 8) 
macht das gleiche wie:
if(1) 



Peter

Autor: Johnny Knot (johnny_knoxville)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Peter Dannegger schrieb:
> Es soll was codiert werden, nach welcher Vorschrift?

Decodieren!!

> Fehler korrigiert werden

Linearer Blockcode mit Hamming Distanz 4

Autor: Udo R. S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Johnny Knot schrieb:
> Decodieren!!

WAS!!!!
von ASCII nach binär, von Russisch nach Banthu oder wie.
oder von EBCDIC nach Bayrisch????

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.