Hallo Leute,
Ich habe dieses Problem, ich möchte die Messergebnisse eines Messgerätes an den PC übertragen(unter Windows) und ich habe dieses Programme geschrieben.
Mein Problem ist bei der Ausgabe, es werden einfach Zahlen, die kein Sinn haben ausgegeben ausgeben. Die Ausgabe unter der Hyperterminal ist sehr anderes, da ist sogar Text dabei, da das Messgerät prüft die Sicherheit von elektrischen Geräte. Ich hoffe ihr könnt mir weiter helfen.
mfg
Ich habe dieses Problem, ich möchte die Messergebnisse eines Messgerätes an den PC übertragen(unter Windows) und ich habe dieses Programme geschrieben.
Code:
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
#include <conio.h>
int main(void) {
DCB dcb;
HANDLE hPort;
COMMTIMEOUTS cto;
DWORD dw;
unsigned char buf[0x100];
dcb.DCBlength=sizeof(DCB);
dcb.BaudRate=CBR_9600;
dcb.ByteSize=8;
dcb.Parity=NOPARITY;
dcb.StopBits=ONESTOPBIT;
cto.ReadIntervalTimeout=50;
cto.ReadTotalTimeoutConstant=50;
cto.WriteTotalTimeoutMultiplier=10;
cto.WriteTotalTimeoutConstant=40;
hPort=CreateFile( "COM1",GENERIC_READ | GENERIC_WRITE,0, NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);
if (hPort==INVALID_HANDLE_VALUE)
{
printf("CreateFile\n"); return 1;
//printf("Create\n");
}
while(1)
{
if(!ReadFile(hPort, buf, 1, &dw,NULL))
{
//error occurred. Report to user.
//sBuffer[0] = buff;
//printf("%d\n",sBuffer);
}
printf("%d\n",buf[0]);
}
CloseHandle(hPort);
return 0;
}
Mein Problem ist bei der Ausgabe, es werden einfach Zahlen, die kein Sinn haben ausgegeben ausgeben. Die Ausgabe unter der Hyperterminal ist sehr anderes, da ist sogar Text dabei, da das Messgerät prüft die Sicherheit von elektrischen Geräte. Ich hoffe ihr könnt mir weiter helfen.
mfg