|
하하하..
님, 통신 DCB 파라메타 일부분에 NULL값을 전송할지 말지를 설정하는 옵션이 있습니다.
이 옵션을 설정하고, 한자씩 보내든지, 아니면 블럭단위로 보내보세요.
AnsiString 으로 보내시면 암만해도 안됩니다.
AnsiString은 NULL만나면 거기서 스트링이 종료됩니다.
char buff[255];
buff는 넝넉하게 설정하시고 그냥 쉽게 한바이트씩 for돌려서 보내세요.
DCB옵션 설정 하지 않고도 아마 한바이트씩 날리면 NULL날리는 것이 가능할겁니다.
블럭으로 한번에 날릴려면 DCB설정 하세요.
도움이 되셨기를.
생각하자 님이 쓰신 글 :
: 안녕하세요 시리얼 통신 프로그램을 만들고 있는데
: 마지막에 BCC를 구할때 XOR로 해서 만드니 되더군요..
: 근데 BCC가 0(16진수)일 경우 0x00으로 값을 넣으니 장비에서 무시해 버립니다.
: 이장비를 테스트하라고 준 프로그램은 00값이 들어가는데
: 제가 짠 프로그램에서 00값을 주니 무시하네요...
: 모니터링 프로그램으로 시리얼 포트를 모니터 해보니
: 장비 테스트 프로그램은 00으로 값이 들어가는데
: 제가 준 값은 감감무소식입니다.
: BCC가 0이 아닌경우는 정상적으로 작동을 하는데 뭐가 문제 일까요?
: 답변 주시면 감사하겠습니다.
|