C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[26281] Cport로 데이터 저장하는데 버그를 있네요^^
초보자올림 [] 1211 읽음    2003-07-10 18:24
고수님들의 조언 부탁 드립니다. ^^

데이터를 시리얼로 4096바이트를 일정 간격으로 받을려고 합니다.

물론 Cport 라이브러리를 사용하여 데이터를 받습니다.

그런데 4096바이트 데이터를 받고 나면 다음 데이터를 기다리다 보면

프로그램이 동작을 않습니다.

데이터 속도는 38400이구요. 이것 때문에 문제가 되는것이 아닌지...

프로그램은 간단히 아래와 같이...

unsigned long Index, Count; 

void __fastcall TForm1::FormPaint(TObject *Sender)
{
     if((Buffer = (unsigned char *)malloc(4096*1000)) == NULL) {
          Close();
          return;
     }
}

void __fastcall TForm1::ComPort1RxChar(TObject *Sender, int Count1)
{
     String Str;
     unsigned char str[3];
     unsigned long i;


     for(i=Index;i<Index+Count1;i++) {
          ComPort1->ReadStr(Str, 1);
          strcpy(str,Str.c_str());
          Buffer[i] = str[0];
     }


     Index += Count1;
     Count = Index;

     if(Index%4096 == 0){ // 4096 받을때 마다 버퍼 클리어
          if(ComPort1->Connected == true) {
               ComPort1->ClearBuffer(true, true);
               ComPort1->Close();
          }
          if(ComPort1->Connected == false) {
               ComPort1->Open();
               ComPort1->ClearBuffer(true,true);
           }
     }

}


/////////////////////////////////////////
/////// 바이러리로 저장 루틴...  ///////////
/////////////////////////////////////////
     FILE *fp;
     unsigned char  cal_data;
     unsigned long i;

     if ((fp=fopen("dat1.aaa","wb+"))== NULL){
          fprintf(stderr, "Cannot open output file.\n");
          return ;
     }

     for(i=0;i<Count;i++) {
          cal_data = Buffer[i];
          fwrite(&cal_data,1,sizeof(unsigned char),fp);
       //   fprintf(fp,"%c",cal_data);
     }

     fclose(fp);

저장 루틴에서 데이터가 제대로 저장이 되지 않네요.

고수님들의 예리한 눈으로 잘못 된 부분을 지적 좀 해 주세요^^

조언 기다리고 있겠습니다.

그럼 즐거운 하루 되세요

+ -

관련 글 리스트
26281 Cport로 데이터 저장하는데 버그를 있네요^^ 초보자올림 1211 2003/07/10
26289     Re:Cport로 데이터 저장하는데 버그를 있네요^^ 손효철 917 2003/07/10
26297         Re:Re:Cport로 데이터 저장하는데 버그를 있네요^^ 초보자올림 719 2003/07/11
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.