|
안녕하세요 빌더 맨날 초보 대마두라고 합니다
지금 테스트 하는 프로그램은 어떤 엠프에서 값이 0.2초에 한번씩 시리얼 232c로 엠프에 나오는 값이 출력되고
현재 출력되고 있는 값을 Timer로 같은 0.2초 간격으로 PC에서 받는 프로그램을 작성하는데요.
이상한 기호만 나오고 값이 제대로 안나오네요.
하이퍼 터미널로는 잘 나오는 값이 왜 안나올까요?
허접한 수신부입니다....
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
char buf[1000];
unsigned long length;
ReadFile(hComm, buf, 1000, &length, NULL); //시리얼로 들어오는 부분을 받는 곳이구요
Label1->Caption = s(buf);
FILE *fp = fopen("RS.txt", "at");
fputs((s(Now().CurrentDateTime())+"("+s(length)+") : **"+s(buf)+"**\n").c_str(), fp); // 현재 받은 시리얼 값을 RS.TXT에 저장하는 파일입니다.
for ( int i=0; i<length; i++ ) fputs((IntToHex((int)buf[i], 2) + " ").c_str(), fp);
fputs("\n\n", fp);
fclose(fp);
PurgeComm(hComm, PURGE_TXABORT | PURGE_RXABORT | PURGE_TXCLEAR | PURGE_RXCLEAR);
}
허접한 코드 질문입니다만.. 아시는 분들 좀 알려주세요 ^^;;;;
|