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
[62402] Re:시리얼 통신 관련해서 질문드립니다. PC에 따라 되고 안되고 그러네요.
크레브 [kkol] 1006 읽음    2010-09-10 20:11
폼에 메모장 하나 올려놓으시고
아래 처럼 Count라도 찍어보시고
void __fastcall TForm1::Comm1RxChar(TObject *Sender, DWORD Count)
{
   Memo1->Lines->Add("Count="+IntToStr(Count);


아니면 데이터를 직접 Hexa 코드로 찍어보시면 답이 나오지 않을까요?

번외편님이 올린 코드만으로는 data[6]에 뭐가 들어가서 조건에 안들어가는지
알 수 있는 방법이 없죠




번외편 님이 쓰신 글 :
: 안녕하십니까.
: 현재 C++ Builder6에 comm 컴포넌트를 가지고 시리얼 통신을 하고 있습니다.
:
: 데이터를 받을때
:
: 변수들 선언
:
: void __fastcall TForm1::Comm1RxChar(TObject *Sender, DWORD Count)
: {
:
:    if(data[6] == 0x12)
:    {
:       변수에 저장;
:       Timer로 실행;
:    }
:
:    if(data[6] == 0x22)
:    {
:       변수에 저장;
:       Timer로 실행;
:    }
: ...
:
: }
: 이런식으로 코딩하는데 제 PC에서는 잘 통신이 잘 되는데
: 다른 PC에 실행파일을 옮겨서 실행하면 통신이 되지만 저중에 특정 if문만을 실행하지 못합니다.
: 그 특정 if문은 테이블값이라서 데이터가 1800Byte인데
: ReadTimeout시간이나 WriteTimeout시간을 초과해서 이러한 문제가 생기는것 같아
: 시간을 늘려줬는데도 마찬가지입니다.
:
: 운영체제는 같은 windowsXP를 쓰고 있어서 변수선언상의 문제는 아닌걸로 판단됩니다.
: 혹시 같은경험이 있거나 어떤한부분을 손봐줘야 제 PC뿐만 아니라 다른 PC에서도 동작을 정상적으로
: 할수 있는지 아시는분 있으시면 도움 부탁드립니다.
:
: 그럼.. 좋은 하루 보내세요

+ -

관련 글 리스트
62401 시리얼 통신 관련해서 질문드립니다. PC에 따라 되고 안되고 그러네요. 번외편 1016 2010/09/10
62402     Re:시리얼 통신 관련해서 질문드립니다. PC에 따라 되고 안되고 그러네요. 크레브 1006 2010/09/10
62403         질문 내용을 좀더 자세하게 적는다는것이 간략하게 적었었네요 번외편 992 2010/09/10
62404             Re:질문 내용을 좀더 자세하게 적는다는것이 간략하게 적었었네요 크레브 978 2010/09/10
62407                 결국 데이터를 쪼개서 해결했습니다 번외편 1007 2010/09/10
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.