시리얼 통신 쌩 초보입니다.
개발이 끝나가는 마당에 H/W가 교체되는 황당한 일이 벌어진 후 새 장비에 연결을 못하고 있습니다.
RS-485 방식으로 연결되는 장비에 230400bps로 연결해야 한다는데...
제가 지금 사용하는 CommPort 컴포넌트에는 baudrate 종류에는 230400이 없더군요...
우선 256000처럼 값이 비슷한 baudrate 값으로 설정했더니 port open과 writestring 실행에서 오류는 없는데 저쪽 장비에서 들어와야 할 결과 값이 들어오질 않더군요.
여기서 일단 첫번째 질문입니다.
혹시 양쪽 장비의 baudrate를 서로 다른 값으로 맞춰 놓은 상태에서도 두 기기 사이의 시리얼 통신은 되는건가요? 당연히 문제가 발생할 것 같긴 한데... 말 그대로 혹시나 하는 마음에... 그래도 된다면 걍 대충이라도 맞춰둔 상태에서 개발할까?라는 얍삽한... ^^
( 만약 이 질문의 답이 '달라도 상관없다'라면 아래는 더 이상 읽을실 필요도 없을듯... )
또 다른 방법을 시도해보던 중... ComPort의 baudrate 속성 값 중에 brCustom이라는 항목을 쓰기 위해서
INI file을 사용해 BaudRate=230400으로 지정해도...
나중에 확인해보면 Comport의 Default baud인 9600으로 열렸더군요 ㅜ_ㅜ
똑같은 방법을 사용하면서 INI 파일의 속성값만 2400같이 기존에 정의되어 있던 값으로 지정하면 실제로도 2400bps로 연결되는걸 확인했습니다. (아마 제가 brCustom을 잘못 사용하진 않았단 말이겠죠?)
지금은 어찌해야할지 암담한 상태입니다.
두번째 질문입니다.
어떤 방법이든 ComPort 컴포넌트의 의 baudrate를 높일 수 있는 방법 좀 알려주세요...
혹시 다른 컴포넌트로 바꿔야만 한다면 가능한 공개용으로 좀 알려주시고요...
물론 정 안되면 상용도 상관은 없지만... 돈이 문제가 아니라 개발 완료 시점이 너무 촉박해서 구매하고 자시고 할 시간 여유도 없거든요 ( 도와달라는 주제에 꽤나 따지죠? ㅡ.ㅡ )
통신쪽에 아는게 별로 없다보니 질문마저도 조리있게 하질 못하네요.
글만 길어졌지 내용은 두서 없어졌지만... 고수님들의 답변 부탁드리겠습니다.
근본적으로 어떤 방법으로도 baud rate 230400은 PC에서는 지원하지 않습니다.
왜냐하면 PC에 있는 통신 PORT의 UART는 기능적으로는 230Kbps가 지원이 가능합니다.
그러나 기존 UART와 호환을 위해는 1.84MHZ를 기본 주파수로 이용합니다.
최대 분주비인 1로 하더라도 115200이됩니다.
따라서 115200이상은 S/W만 가지고는 불가능합니다.
따라서 230400이 지원하기 위해서는 기원 가능한 Board가 있어야 합니다.
Board를 구입하면 통상적으로 설정 S/W 까지 있습니다.
사용하는데 문제가 없을 것입니다.
참고로 설정 가능한 최대 속도는 920KBPS까지 일겁니다.