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
[72561] Cport Rx부분 질문입니다.
앱돌이 [arrowstorm] 4001 읽음    2015-04-21 09:48
c++왕초보자 질문좀 받아주세요
Button3를 누르면 계측기로 명령어가 입력되어 rx부분에서 수신받아 LoadGrid함수를 불러 StringGrid에 뿌려지는 소스인대요
StringGrid에 뿌려지는 걸 확인해보면 Read부분에서 아주잠깐 지연시간을 주면 정상적으로 계측기의 값이 입력됩니다.
지연시간을 없에버리면 숫자가 한개씩입력되거나 아예 입력이 안됩니다.
breakPoint를 주고 확인해보면 breakpoint때문인지 정상적으로 입력이 됩니다.
그래서 다른분들의 조언을 들어 Rx부분 Count가 충분히 되었는지 확인하기위해 buff에 E가 입력될시 함수 호출하는 식으로 수정을 했는데 이번엔 Sleep을 해주면 정상출력되고 Sleep을 제거하면 E만 출력됩니다. ㅜ.ㅜ 너무 답답해서 조언을 구합니다.
질문1: Count가 충분한지 확인하려면 어떤식으로 수정을 해야할까요?
질문2: Count로 확인하지않고 buff에 문자열이 다들어왔는지 확인하기위해선 어떤식으로 수정해야할까요?
질문3: 문자열에 ETX까지 입력되었는지 확인하기위해선 어떻게해야할까요? 

전송방식은 rs232 LF입니다.



메모 부분은 그냥 확인하기 위해 만든거라 무시하셔도됩니다.


double voltage;
AnsiString ConVolt;
char strr[200];

void __fastcall TForm1::Button3Click(TObject *Sender)
{



        ComPort2->Open();
        sprintf(strr,"MEAS:VOLT:DC?%c",0x0a);
        ComPort2->Write(strr,StrLen(strr));




}


void __fastcall TForm1::ComPort2RxChar(TObject *Sender, int Count)
{

         char buff[100];

         memset(buff,0,sizeof(buff));
         for(int i=0;i<Count;i++){
                ComPort2->Read(buff,Count);
                Memo2->Lines->Add(buff);
                if(strstr(buff,"E")!= NULL){
                        voltage = atof(buff);
                        ConVolt = FloatToStr(voltage).sprintf("%.3f",voltage);
                        LoadGrid();

                }
         }





}

+ -

관련 글 리스트
72561 Cport Rx부분 질문입니다. 앱돌이 4001 2015/04/21
72571     Re:Cport Rx부분 질문입니다. 김시환 4031 2015/04/23
72573         Re:Re:Cport Rx부분 질문입니다. 앱돌이 4008 2015/04/23
72565     Re:Cport Rx부분 질문입니다. 라스코니 4189 2015/04/21
72583         Re:Re:Cport Rx부분 질문입니다. 앱돌이 4064 2015/04/24
72572         Re:Re:Cport Rx부분 질문입니다. 앱돌이 3984 2015/04/23
72579             Re:Re:Re:Cport Rx부분 질문입니다. 라스코니 4048 2015/04/24
72570         Re:Re:Cport Rx부분 질문입니다. 4014 2015/04/23
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.