RS485 RX문제

안녕하세요~
RS485를 이용해 통신을 하는 중에 문제가있어서 질문올립니다.
지난주에도 질문을 올리긴했었는데 제가 상황을 잘못 판단한 부분이 있어서 다시 올립니다.
Atmega2560을 이용한 보드(이하 보드)와 안드로이드 디바이스(이하 태블릿)의 RS485통신중인데요
보드에서 RECEIVE가 정상적으로 되질 않습니다.
데이터 전달은 잘 하고요..
그런데 지금 제 생각은 소스코드문제라고 보이지는 않습니다.
왜냐면 USBTo485를 이용해서 노트북으로 보드와 통신할때는 정상적으로 통신이 되는걸 확인 할 수 있습니다.
그런데 태블릿과 보드를 직접 연결하면 보드가 TX는 정상적으로 하는데(데이터도 정상) 태블릿이 보내도 데이터를 RX인터럽트가 발생하질 않아요.
물론 태블릿도 TX/RX는 정상적으로 작동함을 노트북과 UsbToRs485를 이용해 연결해서 확인했습니다.
정리하자면 보드~태블릿 연결상태에서
1. 보드->태블릿 전송 정상(태블릿에 받은 데이터 로그확인)
2. 태블릿->보드 전송 오류
3. 태블릿<->노트북(TX/RX정상)
3. 보드<->노트북(TX/RX정상)
현시점에 제 나름대로 포인트를 잡아보려고 정리 해 본건 이정도 밖에 없네요..
RS485에서 RX가 정상적으로 되지 않는 부분 혹시 관련 정보를 아시는 분 계실까요..?ㅠ
제가 펌웨어,하드웨어 개발분야를 정말 잘 몰라서,,, 어느 포인트를 확인해 보면좋겠다 하고 지나가시며 힌트만 주셔도 정말 감사할 것 같습니다.
긴 글 읽어주셔서 감사합니다.
해결했습니다.
정확히는 해결한건 아니고 485접고 232로선회했습니다 ㅋㅋㅋㅋㅋ어차피 근거리라 시간쓰면서 고집할 이유가 없네요 하지만 혹시 이유 아시는 분 알려주시면 좋은 공부가 될 것 같아요! 감사합니다.
RS485 통신은...
RS485 통신은 Half Duplex 방식이라서 TX enable을 시켜줘야 합니다.
태블릿측 USB-to-RS485 컨버터에 TX Enable을 시켜주는 레지스터 같은게 있는지 확인해보고 있다면 이걸 실행해줘야 합니다. 그리고 오실로-스코프가 있다면 파형을 관찰해보는 것도 좋은 방법입니다.
RS485의 장점은 RS232C보다 멀리 전송할 수 있고, 중간에 Repeater를 쓰면 장거리 전송도 가능합니다. 특히 멀티 버스 방식을 사용하면 1대다 방식의 통신도 가능합니다.
모두들 행복하세요~
txenable은 이미하고있습니다
그게문제였다면 485통신으로 노트북과도 통신이안됐을것으로 생각됩니다
답변감사드려요
그건 그렇네요...
그럼 UART 통신의 H/W Flow control를 의심해봐야 겠네요.
모두들 행복하세요~
댓글 달기