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
[52072] Re:Async Pro에서 수신 질문...
장성호 [nasilso] 1118 읽음    2008-01-27 23:57
어떤 컴포넌트를 이용하든 이 문제는 원하는데로 깔끔하게 해결하기는 쉽지 않습니다.
rs232  드라이버를 새로만들면 모를까?

그러므로 일반적인 방법으로는

1. 수신되는 내용을 buffer에  계속 쌓아 두는것입니다.
2. 그리고 buffer에 쌓인 data가 일정 패킷에 맞으면
     그부분을 꺼내어서 처리하고..
3. buffer에서는 방금전 처리한 부분을 삭제합니다.

   
buffer로는 보통 그냥 일정 크기의 메모리를 잡아서쓰기도 하지만
큐 또는 원형큐도 많이 쓰입니다.

그럼..



자갈밭 님이 쓰신 글 :
: Async Pro 4.06을 사용하여 프로그래밍을 할려고 합니다..
:
: 테스트 프로그램을 짜서 확인하고 있는데...
: 난관에 봉착했습니다...
:
: portmon으로 확인해보니 아래와 같습니다...
:
:
: 174    오전 9:40:58    test2.exe    IOCTL_SERIAL_GET_MODEMSTATUS    Serial0    SUCCESS   
: 175    오전 9:40:58    test2.exe    IOCTL_SERIAL_GET_COMMSTATUS    Serial0    SUCCESS   
: 176    오전 9:40:58    test2.exe    IOCTL_SERIAL_GET_MODEMSTATUS    Serial0    SUCCESS   
: 177    오전 9:40:58    test2.exe    IOCTL_SERIAL_WAIT_ON_MASK    Serial0    SUCCESS   
: 178    오전 9:40:58    test2.exe    IOCTL_SERIAL_GET_COMMSTATUS    Serial0    SUCCESS   
: 179    오전 9:40:58    test2.exe    IRP_MJ_READ    Serial0    SUCCESS    Length 8: FE FE 00 58 00 00 00 26    
: 180    오전 9:40:58    test2.exe    IOCTL_SERIAL_GET_MODEMSTATUS    Serial0    SUCCESS   
: 181    오전 9:40:58    test2.exe    IOCTL_SERIAL_GET_COMMSTATUS    Serial0    SUCCESS   
: 182    오전 9:40:58    test2.exe    IOCTL_SERIAL_GET_MODEMSTATUS    Serial0    SUCCESS   
: 183    오전 9:40:58    test2.exe    IOCTL_SERIAL_WAIT_ON_MASK    Serial0    SUCCESS   
: 184    오전 9:40:58    test2.exe    IOCTL_SERIAL_WAIT_ON_MASK    Serial0    SUCCESS   
: 185    오전 9:40:58    test2.exe    IOCTL_SERIAL_GET_COMMSTATUS    Serial0    SUCCESS   
: 186    오전 9:40:58    test2.exe    IRP_MJ_READ    Serial0    SUCCESS    Length 3: 45 01 FD    
: 187    오전 9:40:58    test2.exe    IOCTL_SERIAL_GET_MODEMSTATUS    Serial0    SUCCESS   
: 188    오전 9:40:58    test2.exe    IOCTL_SERIAL_GET_COMMSTATUS    Serial0    SUCCESS   
: 189    오전 9:40:58    test2.exe    IOCTL_SERIAL_WAIT_ON_MASK    Serial0    SUCCESS   
: 190    오전 9:40:58    test2.exe    IOCTL_SERIAL_GET_MODEMSTATUS    Serial0    SUCCESS   
:
: 패킷이 FE FE 00 58 00 00 00 26 45 01 FD   이렇게 읽혀야 될텐데....
: 항상  FE FE 00 58 00 00 00 26   8 바이트 한번 ,
: 45 01 FD 3 바이트  이렇게 읽힙니다.
:
: 기기에 따라 START FLAG ( 0xFE 0xFE )와 END FLAG(0xFD)를 사용하는 기기도 있지만,
: Start,End Flag를 사용하지 않는 기기도 있어 고민입니다.
:
: 위에서 8 + 3 = 11 바이트를 한번에 읽히도록 할려면 어떻게 해야 하는지요?

+ -

관련 글 리스트
52067 Async Pro에서 수신 질문... 자갈밭 1226 2008/01/27
52072     Re:Async Pro에서 수신 질문... 장성호 1118 2008/01/27
52073         Re:Re:Async Pro에서 수신 질문... 금목암 1429 2008/01/28
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.