Karl Heinz schrieb:
> ... in der meistens verwendeten Windows-API Funktion setCommState,
> eine serielle Schnittstelle mit einem DCB konfigueriert wird, und es in
> dieser nur eine Handvoll Konstanten für die Baudraten gibt.
>
> http://msdn.microsoft.com/en-us/library/aa363214(v=vs.85).aspx
Dann sieh Dir mal die numerischen Werte dieser Konstanten an.
Das schreibt auch MS selber:
1 | BaudRate
|
2 |
|
3 | The baud rate at which the communications device operates.
|
4 | This member can be an actual baud rate value, or one of the following indexes.
|
Ja: Das ist ... einfach die Baudrate. Anstelle dieser Konstanten kann
also auch direkt die Baudrate angegeben werden, und die wird auch
transparent an den jeweiligen Devicetreiber durchgereicht.
Die klassische PC-Onboard-Schnittstelle mit 8250 bzw. 16550, die kennt
nur die Baudraten bis einschließlich CBR_115200, das ist aber eine
Hardwareeinschränkung, denn die 8250 erzeugt ihre Baudrate aus einem
1.8432-MHz-Quarz mit einem Vorteiler von 16, und jedem ganzzahligen
Teiler von 1 bis potentiell 64k, wobei Werte größer als 2304
ungebräulich sein dürften - das sind 50 Baud, wie man sie von
mechanischen Fernschreibern her kennt.
Jede modernere Schnittstelle aber, wie insbesondere der FT232, erzeugt
ihre Baudrate auf andere, flexiblere Art und Weise. Und hier hat MS bei
der API --erstaunlicherweise-- mal mitgedacht und statt symbolischer
fixer Konstanten für die Baudrate einfach den direkten Wert verwendet,
so daß jede beliebige Baudrate verwendet werden kann, so es die Hardware
und der unterliegende Devicetreiber zulassen.