Hi zusammen, ich habe irgendwo im nächsten Code noch einen Fehler, die SetCommState gibt eine False zurück und eine "87"(Falscher Parameter) als Fehlercode: [c] dcb.DCBlength = sizeof(DCB); // Laenge des Blockes MUSS gesetztsein! dcb.BaudRate = atoi(set->m_baudrate); // Baudrate dcb.ByteSize = (BYTE) atoi(set->m_databits); // Datenbits dcb.Parity = (BYTE) atoi(set->m_parity); // Parität dcb.StopBits = (BYTE) atoi(set->m_stopbits); // Stopbits // Communication flow dcb.fBinary = TRUE; dcb.fParity = TRUE; dcb.fOutxCtsFlow = FALSE; dcb.fOutxDsrFlow = FALSE; dcb.fDtrControl = DTR_CONTROL_DISABLE; dcb.fDsrSensitivity = FALSE; dcb.fTXContinueOnXoff = TRUE; dcb.fOutX = FALSE; dcb.fInX = FALSE; dcb.fErrorChar = FALSE; dcb.fNull = FALSE; dcb.fRtsControl = RTS_CONTROL_DISABLE; dcb.fAbortOnError = FALSE; dcb.wReserved = 0; BOOL state; state = SetCommState(hcomm, &dcb); [\c] hcomm habe ich vorher mit CreateFile initialisiert!!!! danke für die Hilfe Gruß
Woher weisst du, dass in diesen Zeilen die korrekten Werte der Konstanten rauskommen: dcb.ByteSize = (BYTE) atoi(set->m_databits); // Datenbits dcb.Parity = (BYTE) atoi(set->m_parity); // Parität dcb.StopBits = (BYTE) atoi(set->m_stopbits); // Stopbits
ich habe Beim debbugen geprüft!!! Ergebniss ist: dcb.ByteSize = 8 dcb.Parity = 0 dcb.StopBits = 1 !!!
dcb.StopBits = 1 ergibt nicht ein Stopbit sondern 1.5. Für ein Stopbit muss eine 0 im Feld stehen.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.