Rs232 daten stimmen nur teilweiße
-
hallo,
ich hoffe diesmal habe ich das richtige Forum erwischt *G*
ich habe im moment folgendes problem
ich schicke via Telnet über ein Nullmodemkabel von COM1(Telnet 9600,8bits,pärität:gerade,1 stopbibt,flußsteuerung: Xon/Xof) an
COM2 (Mein Program; 9600,8bits,1 stopbibt) und folgenden Einstellungen
dcb.fRtsControl = RTS_CONTROL_ENABLE; dcb.fDtrControl = DTR_CONTROL_ENABLE; dcb.fTXContinueOnXoff = TRUE; dcb.fNull = TRUE; dcb.Parity = EVENPARITY;daten..
dabei ergibt sich folgendes problem wenn ich zb 'n' schicke und danach nochmals 'n' geht das noch aber wenn ich jetzt noch ein 'n' schicke wird es nicht erkannt und er empfängt nur noch jedes zweite 'n'
wenn ich jedoch unterschiedliche zeichen abwechselnd schicke ist das kein problem also 'n' 'p' 'n' 'p' 'n' 'p' usw wäre kein problem da wird jeder erkannt
ich denke mal das liegt an irgendwelchen einstellungen aber leider weiß ich nicht welche das sein könnten kann mir das jemand sagen..
ach ja später wird telnet durch einen microkontroller ersetzt der via UART daten schickt..
gruß Dominik
-
Sind das alle Werte die du in der dcb-Struktur setzt?
Falls ja, probier mal:dcb.DCBlength = sizeof(dcb); dcb.BaudRate = 9600; dcb.fRtsControl = RTS_CONTROL_ENABLE; dcb.fDtrControl = DTR_CONTROL_ENABLE; dcb.fParity = TRUE; dcb.Parity = EVENPARITY; dcb.fBinary = TRUE; dcb.StopBits = ONESTOPBIT; //Wichtig!!! dcb.fOutxCtsFlow = FALSE; dcb.fOutxDsrFlow = FALSE; dcb.fDsrSensitivity = FALSE; dcb.fAbortOnError = FALSE; dcb.ByteSize = 8;Mfg, North.
-
danke,
also Bautrate,stopbit und Bytesize setz ich eigentlich schon jedoch mit BuildCommDCB das hab ich nur nicht gepostet sorry
aber ein paar von den einstellunge setzt ich tatsächlich nicht das werde ich mal ausprobieren.
-
Sag bescheid falls es klappt. Sonst mal den kompletten Source von deiner Init-Routine posten.
Mfg, North.