Sendepause
-
Hi!
Bin jetzt mit meinem prog soweit, dass ich jede Mene strings an sen COM-Port senden kann. Das problem ist, dass mein Kartenleser das alles nicht so schnell verarbeiten kann bzw. während ich noch sende versucht er schon zu antworten. Dadurch bekomme ich z.B. 2 Antworten und dann einen error auf sechs Fragen.
Weiss jemand wie man eine Sendepause Verzögerung programmiert??
Muss ich es vielleicht mit den Handshake-Verfahren machen??
DANKE!
...//SENDEN Status unsigned long length = 0; CString sDaten = "60011776"; if(WriteFile(hCom, sDaten, sDaten.GetLength(), &length, NULL) == 0) { //hier fehlerbehandlung MessageBox("3.Senden nicht möglich!"); return; } CString sDaten1 = 0x03; WriteFile(hCom, sDaten1, sDaten1.GetLength(), &length, NULL); //Empfangen char Antwort[20]; ReadFile(hCom, Antwort, sizeof(Antwort), &length, NULL); m_EditFile1 = Antwort; UpdateData(FALSE); //Sicherheit if(Antwort[7] != '4') { MessageBox("Keine SIM-Karte im Leser"); CloseHandle(hCom); } else { //***ROS aus CString sDaten2 = "600301000063"; WriteFile(hCom, sDaten2, sDaten2.GetLength(), &length, NULL); WriteFile(hCom, sDaten1, sDaten1.GetLength(), &length, NULL); //***STATUS CString sDaten6 = "6002170277"; WriteFile(hCom, sDaten6, sDaten6.GetLength(), &length, NULL); WriteFile(hCom, sDaten1, sDaten1.GetLength(), &length, NULL); //Prüfen der Atwort char Antwort1[9]; ReadFile(hCom, Antwort1, sizeof(Antwort1), &length, NULL); m_EditFile = Antwort1; UpdateData(FALSE); //PUp 5V3V CString sDaten8 = "6002121363"; WriteFile(hCom, sDaten8, sDaten8.GetLength(), &length, NULL); WriteFile(hCom, sDaten1, sDaten1.GetLength(), &length, NULL); //Verify CString sDatenA = "600D14A02000010837373737FFFFFFFFF0"; WriteFile(hCom, sDatenA, sDatenA.GetLength(), &length, NULL); WriteFile(hCom, sDaten1, sDaten1.GetLength(), &length, NULL); ...