|
잘은 모르지만....
님께서 기본이 부족하신듯합니다.
일반적으로 통신은 프로토콜이 맞아야합니다.
프로토콜도 하드웨어 레벨, 소프트 웨어 레벨 별로 맞아야 통신이 됩니다.
프로토콜의 대표적인 예가 TCP/IP입니다.
OSI7레이어에 대해서 읽어보시면 조금 도움이 될라나....
시리얼 통신의 하드웨어 프로토콜은 대체로
전송시간 전송 비트 제어비트... 등으로 이루어집니다.
대부분 하드웨어적인 설정이 필요합니다.
전송시간은 제가 아는거는 9600하나밖에 모릅니다.
전송비트는 옛날에는 7비트를 많이 사용했는데 요즘은 8비트를 많이 사용한다고 합니다.
제어비트는 1비트를 사용하는지 시그널 비트를 사용하지 모르겠습니다.
에러 비트는 짝수 홀수 없음이 있는데 요즘은 없음을 많이 사용합니다. 전송비트가 8비트이면 없다고 해야 한다나 뭐라나....
상기 사항은 하드웨어 메뉴얼에 모두 있을겁니다. 한번 읽어 보시기 바랍니다.
그리고 통신 프로그램이나 라이브러리는 이러한 설정은 제어하는 방법을 제공합니다.
물론 메뉴얼에 나올겁니다.
메뉴얼이 영어라서 못읽는다면 할수 없고....
그럼
이 뭥미 님이 쓰신 글 :
: 설명이 정확치 못했네요..
: data size라는게 data bits를 의미하는거였습니다.
: h/w에 설정된 data bits가 당연히 8byte라고 생각했는데.. 한번 확인해봐야겠습니다.
: 감사합니다..
:
: 이 뭥미 님이 쓰신 글 :
: : 안녕하세요 ㅠ_ㅠ
: : 엊그제 볼랜드C++과 시리얼 통신 모두 처음 접하게 된 초보입니다.
: : 기존프로그램에 문제가 있어 수정해야되는데 잘 몰라서 질문드립니다.
: :
: : data size를 8로 잡아서 통신 open 한 후 data를 전송하려는데 data크기를 8로 잡고 data전송을 시도하면 제대로 전송되지 않고 data크기를 7로 잡아서 전송하면 잘 전송이 되고 있습니다.
: :
: : 단지 전송 data사이즈를 줄인것만으로 통신이 잘 된다는게 이해가 되지 않습니다. 근본적인 원인은 다른 곳에 있을거라고 생각이 드는데 어떤 부분을 보면 좋을지 조언 부탁드립니다..
|