Hallo Leute,
wie schon gesagt programmiere ich in Windows unter Borland C++ builder (Version 5).
Ich schreibe gerade ein Programm welches Daten über eine Serielle Schnittstelle an einem µC übergeben soll.
Zur Zeit gibt es allerdings den µC noch nicht und deshalb soll ich mein Programm mit meinem Programm selber testen:
Also mit 2 PCs, indem ich von einem PC Daten sende und beim anderen empfangen soll.
Ich dachte eigentlich dass alles funktioniert, aber leider sind die Daten die ich empfange leer! (glaube ich zumindest)
Ich habe die vordefinierten Funktionen (die funktionieren und die ich auch verwenden sollte)
HANDLE Open_Comport(DWORD Comport, DWORD Baudrate);
int Close_Comport(HANDLE Driverhandle);
int Write_Comport(HANDLE Driverhandle, DWORD NumBytes, void *Buffer);
int Read_Comport(HANDLE Driverhandle, DWORD * BytesRead, DWORD Buffersize, void * Buffer, DWORD tout_dw);
Mein Code auf dem Sende-PC:
Mein Code auf dem Empfangs-PC:
...Und leider hab ich dann nur die aktuelle Zeit und den Strich aber keine Daten in meinem String! Und ich
habe überhaupt keine Idee wieso. Hab jetzt schon einige Möglichkeiten durchprobiert, aber nichts hab geholfen,
und deshalb hoffe ich jetzt auf eure Hilfe.
Danke im vorraus
Kiki
wie schon gesagt programmiere ich in Windows unter Borland C++ builder (Version 5).
Ich schreibe gerade ein Programm welches Daten über eine Serielle Schnittstelle an einem µC übergeben soll.
Zur Zeit gibt es allerdings den µC noch nicht und deshalb soll ich mein Programm mit meinem Programm selber testen:
Also mit 2 PCs, indem ich von einem PC Daten sende und beim anderen empfangen soll.
Ich dachte eigentlich dass alles funktioniert, aber leider sind die Daten die ich empfange leer! (glaube ich zumindest)
Ich habe die vordefinierten Funktionen (die funktionieren und die ich auch verwenden sollte)
HANDLE Open_Comport(DWORD Comport, DWORD Baudrate);
int Close_Comport(HANDLE Driverhandle);
int Write_Comport(HANDLE Driverhandle, DWORD NumBytes, void *Buffer);
int Read_Comport(HANDLE Driverhandle, DWORD * BytesRead, DWORD Buffersize, void * Buffer, DWORD tout_dw);
Mein Code auf dem Sende-PC:
Code:
HANDLE com_status_h;
DWORD baudrate_dw;
chrar port_nr=1;
char str[22];
//...Beispiel Daten
str[0]='a';
str[1]='b';
str[2]='c';
str[4]='d';
laenge=4;
com_status_h=Open_comport(port_nr, baudrate_dw);
Write_Comport(com_status_h,laenge,str);
Mein Code auf dem Empfangs-PC:
Code:
com_status_h=Open_comport(port_nr, baudrate_dw);
bool empfangen=true;
while(empfangen)
{
try
{
Read_Comport(com_status_h,&rec_bytes_dw,25,rec_bus_c,500);
Memo->Lines->Add(TimeToStr(Time()) + "|" + rec_bus_c); // 09:33:28 | (-LEER-)
}
catch ( ... )
{
throw;
}
if(rec_bytes_dw>0)
empfangen=false;
}
...Und leider hab ich dann nur die aktuelle Zeit und den Strich aber keine Daten in meinem String! Und ich
habe überhaupt keine Idee wieso. Hab jetzt schon einige Möglichkeiten durchprobiert, aber nichts hab geholfen,
und deshalb hoffe ich jetzt auf eure Hilfe.
Danke im vorraus
Kiki