|
heartsim 님이 쓰신 글 :
: 안녕하세요. 빌더 초보입니다.
: 최보현님..답변 감사합니다.
:
: 답변을 잘 들었지만 왠지 의문점이 아직 남아있어서요.
:
: rs-232c의 프로토콜의 경우 ,
: StartBit DataBit ParityBit StopBit로서 1바이트를 구성하는 것으로 알고 있습니다.
: 그런데, 모회사의 사용자비주얼 프로그램을 보면 파라미터라는 값에 비트가 할당되어있는데
: 1비트에서 부터 2비트짜리도 있구요..그리고 4비트 8비트짜리가 있습니다.
: 여기까지는 이해하겠는데 9비트 10비트 파라미터값도 있더라구요.
:
: 그러니간, 이 프로그램의 경우 피시에서 작동을 시킨다음 카메라와 rs-232c로 연결한 후
: 파라미터라는 데이터를 날려주는데 1비트, 2비트 , 4비트, 8비트 그리고 9비트 10비트를
: 날려주는거죠.
:
: 제가 질문을 하는 것이 바로 9비트나 10비트의 경우입니다.
: StartBit DataBit ParityBit StopBit는 보통 1바이트(8비트)로 구성되는데,
: 9비트나 10비트로 구성될 수는 없는 건지요.
: 제가 주위에서 듣기로는 StartBit나 StopBit를 어케 쪼개고 붙여서^^ 가능하다는 말을
: 언젠가 들은 기억이 나는군요^^.( 넘 황당한 질문인가?^^)
:
: 음.......제 생각에는 만약 이것이 정 불가능하다면
: 파라미터를 송신할때 또는 받는 쪽에서 9비트나 10비트 송수신을 위한 알고리즘을 별도로
: 구현을 해줘야 될 듯한데요................^^
:
: 아직 초보라 황당하기도 한 질문을 했네요....^^
:
: 즐거운 하루되세요..
:
: from heartsim
:
:
:
네 좀 잘못 이해하시고 계신거 같은데요.
StartBit DataBit ParityBit StopBit 가 1 바이트가 아니라.
여기 DataBit 가 1바이트 입니다.
이 데이타 비트가 실제로 16550 에서 버퍼에 저장하는 데이타 입니다.
그래서 실제 cable 을 타고 전송하는 비트는 DataBit 가 8비트라면 1+8+1+1=11 비트가 되겠죠.
이건 물리적신호로 전송되는거고 16550 는 startBit 와 StopBit 의 사이에 있는
데이타 비트의 물리적 신호를 추출해서 수신버퍼레지스터에 저장을 합니다.
근데 16550 저장할수 있는 레지스터의 크기가 8비트라는 거죠
그래서 하드웨어적으로 8비트이상 데이타통신이 불가능하다고 생각됩니다.
이 16550 말고 다른 칩이 있어 저장할수 있는 데이타가 8비트 이상이라면
그 이상도 가능하리라 생각이 됩니다.
|