B
Bullach schrieb:
Moin!
Mein Problem sieht wie folgt aus:
ich habe ein prog zu Com-Kommunikation und will damit daten mit einem Chipkartenleser austauschen. Ich muß die Daten als hex-bytes schicken. Wie kann ich z.B. "60 05 22 05 3F E0 10 8D" diese 8 Hex-bytes senden. Bis jetzt kann mein prog nur strings senden:
[cpp]
void CTest::OnTest()
{
DCB PortConfig;
hCom = CreateFile("COM1", GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, NULL);
if(GetCommState(hCom,&PortConfig) == 0)
{
//hier fehlerbehandlung
MessageBox("1.Senden nicht möglich!");
return;
}
PortConfig.BaudRate = CBR_9600;
PortConfig.StopBits = ONESTOPBIT;
PortConfig.Parity = NOPARITY;
PortConfig.ByteSize = 8;
if(SetCommState(hCom,&PortConfig) == 0)
{
//hier error;
MessageBox("2.Senden nicht möglich!");
}
//SENDEN
unsigned long length = 0;
CString sDaten = "600522053FE0108D";
if(WriteFile(hCom, sDaten, sDaten.GetLength(), &length,NULL) == 0)
{
//hier fehlerbehandlung
MessageBox("3.Senden nicht möglich!");
return;
}
CString sDaten = 0x03
if(WriteFile(hCom, sDaten, sDaten.GetLength(), &length,NULL) == 0)
{
//hier fehlerbehandlung
MessageBox("3.Senden nicht möglich!");
return;
}
CloseHandle(hCom);
}[/cpp]
Hat jetzt fnktioniert!!
End of Text hat gefehlt. Die hex-bytes kann man wie oben schicken. COOL