안녕하세요.
장비랑 PC랑 Comport로 통신을 하는 프로그램인데요.
ApdComport랑, ApdTerminal을 같은폼에 올려놓고,
(물론, 버튼도 올려놓고...)
장비에 명령문을 (예를들어 esc + id + enter)보내는데,
const
send2m : string = #27 +'ID' + #13;
..중간생략 (trigger...)
ApdCom.putstring(send2m);
..
이러면 장비에서 아무 반응이 없고,(통신이 않되는것으로 보임)
terminal에서 직접명령어를 입력전송하면 올바른 반응이 나오는데요.
(어짜피 terminal도 ApdCom을 사용하는데..)
무엇이 문제인지 모르겠네요..
혹시 이런경험 하신분 알려주세용~
기존 버전을 써보셨다면 특별한 차이는 없습니다.
우선은 통신이 나가는지 안 나가는지 데이타가 제대로 나가는지 안 나가는지를 확인하셔야할 것 같습니다...
시리얼 케이블을 하나 만드셔서 (크로스로 만듭니다.. )
한쪽 끝은 Com1에 한쪽 끝은 Com2에 꼽고...(크로스로 만드셨으니까 Com1에서 TX를 하면 Com2에서는 Rx를 받겠죠?)
이것을 디버깅합니다.
시리얼 통신쪽 일을 계속 하시는 분이시라면 아예 디버깅하는 프로그램을 하나 만드세요...
들어오는 데이타를 그대로 화면에 뿌려주는 프로그램이요..(이때 16진수로 그대로 뿌리는게 보기 좋으실 겁니다 화면에 $31 $22 ... 이런식으로 데이타가 표출될 수 있게요..그냥 아스키로 뿌리시면 식별하기가 어려우실 겁니다. )
그리고 디버깅 프로그램에서는 Com2를 오픈하고 있고...
님의 프로그램에서는 Com1을 오픈하신 후에...데이타를 putString 합니다..
이때 Com2에 데이타 맞게 들어오면 PC 프로그램쪽 디버깅은 끝입니다..
PC쪽에서는 데이타를 보내는데 장비쪽에서 못 받는 문제겠지요...
만약 Com2에 데이타가 안 들어온다면 포트 오픈부터 시작해서...Comport(물리적인) 등등을 다 검사하셔야겠죠?