002
19.11.2003, 20:15 Uhr
~Lord_J
Gast
|
Hm, das klappt auch nicht, also es ist so, dass ich etwas an die Schnittstelle RS232 sende, was auch klappt, aber das auslesen von den Daten, die ich zurückbekomme klappt nicht und die will ich halt Eingabefeld wieder ausgeben, der ich eine Membervariable im CString format zugewiesen habe.
C++: |
void CFlukeDlg::OnSenden() { // TODO: Code für die Behandlungsroutine der Steuerelement-Benachrichtigung hier einfügen
UpdateData(TRUE);
//Nachricht senden HANDLE handle;
handle = CreateFile ("COM1",GENERIC_READ | GENERIC_WRITE,0,NULL,OPEN_EXISTING,0,NULL);
DCB dcb;
GetCommState(handle,&dcb);
dcb.BaudRate = CBR_9600; dcb.Parity = NOPARITY; dcb.ByteSize = 8; dcb.StopBits = ONESTOPBIT;
SetCommState (handle , &dcb); GetCommState (handle, &dcb);
SetupComm(handle, 40, 40);
DWORD BytesWritten; BOOL status; BOOL status2; DWORD error; COMSTAT comstat; char Buffer[40]; char Buffer2[40];
for (int k=0; k < strlen(m_senden); k++) { Buffer[k] = m_senden[k]; }
Buffer[strlen(m_senden)] = '\x0D'; Buffer[strlen(m_senden)+1] = '\x0A'; Buffer[strlen(m_senden)+2] = '\0';
status = WriteFile(handle,&Buffer,strlen(Buffer),&BytesWritten, NULL);
Sleep(1000); BytesWritten = 0; ClearCommError (handle, &error, &comstat); status2 = ReadFile (handle, Buffer, comstat.cbInQue, &BytesWritten, NULL);
m_empfangen=Buffer2;
// Bildschirm aktualisieren UpdateData(FALSE); }
|
und das auslesen von Buffer2 in die Membervariable m_empfangen bekomme ich nicht hin. |