Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

Re: Bug im OS - eigentlich nicht Kategorie: Progr. Assembler, TaskingTools, OS (von André H. - 30.10.2005 17:32)
Als Antwort auf Bug im OS. von Christian Jost - 28.10.2005 20:20
Ich nutze:
C-Control II Unit, C164CI-ControllerBoard, CC2-Application-Board, CC2-StarterBoard, CC2-ReglerBoard, OSOPT V3.0
Hallo Christian,

Nicht alles, was nicht auf Anhieb funktioniert, kann man einfach mit
einem Bug im OS erklären.
Ich konnte dieses Problem bisher nicht reproduzieren, da es scheinbar
nur mit der Baudratenabweichung zu tun hat.
Hier kann man Softwaretechnisch wenig machen.
Das ist Hardwarebedingt, da die 20MHz Takt kein vielfaches
einer RS232 Baudratenfrequenz ist

Was bei Dir passiert, wird eher ein Pufferüberlauf sein, als ein Empfangsfehler.
Auch wäre ein nicht korrektes Fehlerhandling in Deinem Fall möglich.
Auch sollten in Datenrahmen mit Flexiblen Grö�en immer die Anzahl der
der Rahmengrö�e mitgesendet werden. Einfach ein Start oder Stopzeichen
zu senden, ist bei einer RSxxx-Kommunikation eher unüblich.
Ã?blich ist eher ein Startzeichen, dann die Anzahl der Bytes (meist nur der Datenbytes)
und dann die Prüfsumme.
Bedenke, da� der Empfangspuffer Standardmä�ig nur 32Byte hat.
Da Dein Datenrahmen bereits 31 Byte hat, würde ich den Puffer mind. auf das doppelte setzen.
Im Handbuch steht leider fälschlicherweise, da� der Puffer 64Byte hat.
Was bei Dir auch sein kann, wäre eine Simple Störung, die hin und wieder
bei RS232 auftreten kann.

Den einzigen Bug, den ich bei hwcom bisher feststellen konnte, hängt mit
dem Handshaking zusammen.

MfG André H.


> Hallo
>
> Bei mir ist auch das Problem mit der seriellen Schnittstelle aufgetreten:
>
> HWCOM bei 19200 fehlt sporadisch das letzte Byte
>
> Das Problem tritt bei mir auch bei 9600 Baud auf.
>
> Mein Protokoll beinhaltet 8..31 Bytes. Da die Länge dynamisch ist, wird mit speziellen Zeichen gearbeitet:
>
> DLE STX (= Start)
> Daten
> ...
> Daten
> Prüfsumme
> DLE ETX (= Stop)
>
> Also kann ich nicht die vorgeschlagene Lösung von André H. benutzen. Ausserdem kann der der PC zu
> jedem Zeitpunkt Daten senden..
>
> Gibt es eine andere Lösung? Tritt der Fehler nur einmal auf d.h. gibt es nur eine Verschiebung um ein
> Byte oder werden es mit der Zeit immer mehr? Ansonsten könnte ich ein Byte mehr schicken
> (mein Protokoll verzeiht das) aber wenn nach einer halben Stunde bereits zwei Bytes fehlen
> etc. so ist das kaum brauchbar.
>
> Es wäre schön wenn dieser Bug möglichst schnell gefixt werden könnte, da es sich um einen
> schwerwiegenden Fehler handelt.
>
> Besten Dank,
>
> Christian
>
>


Antworten bitte nur ins Forum!
Fragen per EMail auf Forum-Postings werden nicht beantwortet!

Das macht meine Heizung gerade


    Antwort schreiben


Antworten:

Re: Bug im OS - eigentlich nicht (von Christian Jost - 30.10.2005 19:49)
    Re: Bug im OS - eigentlich nicht (von Günni - 3.11.2005 20:49)
        Re: Bug im OS - eigentlich nicht (von Christian Jost - 6.11.2005 9:51)