Max Baudrate
-
Hallo,
ich will für einen Download die höchst mögliche Baudrate ausnutzen. Da der angesprochene Controller nur 57600/128000/256000 Baud unterstützt, kann ich die PC übliche Baudrate von 115200 nicht nutzen. (In Abhängigkeit des Gerätetreibers mögliche Baudrates: ... CBR_57600, CBR_115200, CBR_128000, CBR_256000)An meinem PC (WIN2000) kann ich im Gerätemanager (unter Anschlusseinstellungen) 128000 Baud auswählen. Frage ich dann mit der Funktion GetDefaultCommConfig die Parameter der Schnittstelle ab, erhalte ich in der der DCB Struktur die oben Eingestellten 128000 Baud. Umgekehrt kann ich mit SetDefaultCommConfig die gleiche Baudrate vorgeben. Bei dem folgendem Programmcode bekomme ich aber die Fehlermeldung 87 (ERROR_INVALID_PARAMETER). Welche Funktion arbeitet hier Fehlerhaft und wie kann ich im Programm die 128000 Baud nutzen?
Die 16550 UARTs (z.B.: National Semiconducter) unterstützen bei einer Quarzfrequenz von 18,432MHz die 128000 Baud....
bRetVal = ::GetCommState(hPortId, &dcb);if(bRetVal)
{
dcb.BaudRate = nBaudRate;
bRetVal = ::SetCommState(hPortId, &dcb);
}if(!bRetVal)
dwLastError = ::GetLastError();
...
Anmerkung: nBaudRate = CBR_128000Vielen Dank