PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Wortlänge bei RS232 Ansteuerung



DCr33P
05-08-2006, 02:09
Hallöle

Habe in der letzten Zeit ein kleines C Prog geschrieben was die serielle Schnittstelle
unter Linux ansteuert. Da ich in solchen Dingen generell nicht viel Erfahrung habe, stehe ich nun vor einem Problem... Ich muss nämlich über RS232 ein Gerät ansteuern, welches bestimmte Codes empfängt. Ein Code hat immer die Länge von 11 bits. Jedoch kann ich mit termios nur eine maximale Wortlänge von 8 bit einstellen(term_param.c_cflag |= CS8;). Löst man so etwas indem man 2 Wörter hintereinander schickt? geht das so einfach? Wenn ich eine Wortlänge von 8bit habe dann habe ich danach auch ein Stop bit und bestimmt noch irgendwelche Kontrollzeichen. Wie kann ich dann ganz einfach 11 bits hintereinander rüber schieben? :rolleyes:
Wäre über Hilfe sehr dankbar...brauche nen Schubser in die richtige Richtung :)

RapidMax
06-08-2006, 13:53
Du kannst tatsächlich nicht mehr als 8 Bits versenden. Ich bin der Meinung dass das auch nicht von jeder Hardware unterstützt wird, wenn überhaupt (die Serialisierung findet im Schnittstellenbaustein statt). Das schreit also nach einem eigenen Kernel-Treiber, speziell für diese Anwendung.

Allerdings bin ich mir nicht sicher ob du das richtig verstanden hast: Prinzipiell sind 11 bits schon möglich, aber nicht 11 Nutzbits sondern 8Bit + 1 Parity Bit + 2 Stoppbit (8E2), oder wenn man das Startbit hinzurechnet: 1 Startbit (naja eher 1.5) + 8Bit + 1 Parity Bit + 1 Stoppbit (8E1) oder keine Parität und zwei Stoppbits (8N2).

Das ist alles unter Linux möglich.

Gruss, Andy