Wie setze ich eine benutzerdefinierte Baudrate auf Linux?

Ich kommunizieren will, über meine serielle Schnittstelle unter Linux, um ein Gerät mit nicht-standard-baud-rate, die nicht definiert in termios.h.

Ich habe versucht, die "Baudrate aliasing"-Methode von dieser Beitragaber wenn ich ausführen, mein C-Programm (ich habe es mit dem Namen "Testprogramm"), Linux sagt "testprogram sets custom speed on ttyS0. This is deprecated."

Habe ich einige Suche auf Google, und es scheint, dass es eine andere (neuere?) Methode zum ändern der baud-rate auf eine nicht-standard-Wert: Auf http://sourceware.org/ml/libc-help/2009-06/msg00016.html der Autor sagt, dass die c_flag von struct termios werden muss ODER würde mit BOTHER (=CBAUDEX | B0). Mit dieser Methode wird die baud-raten direkt in den c_ispeed und c_ospeed-Mitglieder der struct termios. Allerdings weiß ich nicht, wie ich diese Methode in meinem C-Programm. Wie der Autor sagte, es gibt keine BOTHER definiert/verfügbar, wenn ich termios.halso, was sollte getan werden, um die Baudrate einzustellen, auf diese Weise?

Wie kann ich die baud-rate auf eine nicht-standard-Wert ohne änderung der kernel?

InformationsquelleAutor der Frage Felix | 2012-09-28

Schreibe einen Kommentar