|
이정섭 님이 쓰신 글 :
: baudrate를 250000bps로 사용하고 싶은데 어떻게 해야 될지 알려주시면 고맙겠습니다.
유앤아이 현지아빠 입니다.
음 아래 분들이 답변을 달아주셨지만 ... 질문하신분이 혼동을 하실 까봐
정확히 하고 넘어갈려구 몇자 적어 봅니다.
일단 기본 시리얼 통신의 한계는 115200 입니다.. 하지만 ...
실제 윈도우에서는 그 이상을 지원하고 있고, 또 ...
16C550 이나 실제 하드웨어 디바이스를 보면 ...
그 디바이스에 기본 베이스 클럭이 얼마가 들어 가느냐 그리고~ 그 디바이스에
레지스터에~~ 베이스 클럭을 몇분주를 하여 사용 할것인가에 따라 최종적인 통신
속도가 결정 되는 겁니다.
그러므로~~ 윈도우에 DCB 정보를 통해 디바이스에 분주율을 결정 하도록 통신 속도를
적어 주는데 이곳에~~ 원하는 속도를 적어주면
DevDCB.BaudRate = DWORD(BaudRate);
그에 알맞게 디바이스를 초기화하고 통신을 합니다 ...
기본적인 IBM 호환 계열에서는 통신 디바이스에~~ 베이스 클럭은 얼마인지~ 또 디바이스는 정확히 무엇인지 알수는 없지만 ... (통합 칩으로) 되 있어서리~~
USB 시리얼 컨버터를 보면 헨드폰에 연결된 ....
그 피시 케이블을 보면 ... 256000 bps 가 가능 하걸보면 ...
피시자체에서는 지원 하는 겨우인게 확실 합니다 ...
하지만 ... 피시에 내장된 COM1, COM2 가 지원 된다는 보장은 없습니다 ...
결국 ... 피시에 내장된 디바이스는 ... 115200 까지 지원하는게 일례적인 정석일듯하고~~
윈도우 API 는 그이상을 지원하는게 확실 합니다 ..
USB 시리얼 컨버터를 보면 헨드폰에 연결된 ....그 피시 케이블 또 한 시리얼 포트를
오픈하는 똑같은 API 를 사용 하기 때문입니다.
그래서~~ 표준 속도인 150, 300, 600, 1200, 2400, 4800 .. 이런 속도를
지원하는 것뿐만이 아닌 ...
170, 350, 400 bps 이런 통신 또한 가능 하답니다 ...
결국은 베이스 클럭과 그에 따른 분주율에 따라 결정되는것이기 때문입니다 ...
그럼 도움이 되셨기를 ...
|