RS485 통신문제입니다

안녕하세요
몇년간 C#,Spring을 이용해 상위단 소프트웨어나 서버프로그램만 만들어 왔었는데
최근에 AVR프로그래밍을 하게 됐습니다.
저는 시리얼통신이 이렇게 종류가 많은줄도 모르고
그냥 시리얼통신 얍! TCP 얍!! 스레드 얍!!! 이러면서 살아왔는데요 ㅋㅋㅋㅋㅋ
처음으로 비교적 저수준 프로그래밍을 해보려니 어려운게 많네요
서두가 길었네요
지금 안드로이드가 올라가있는 태블릿같은..?보드와 Atmega2560기반 보드간에 RS485통신을 하려고 합니다.
일단 본론부터 말하자면 둘이 통신이 안됩니다.
현재 상황은 이렇습니다.
1. [안드로이드보드 (tty4포트)] ~ [노트북 RS485toUSB(COM1)] 의 통신은 잘 됩니다.
2. [Atmega2560보드 (uart1포트)] ~ [PC RS485toUSB(COM1)] 의 통신은 잘 됩니다.
3. [안드로이드보드 (tty4포트)] ~ [Atmega2560보드 (uart1포트)] 의 통신은 안됩니다.
정말 환장하겠는게.. 안드로이드~AVR 연결해서 서로 신호를 소프트웨어는 계속 보내고있는데..
클럭신호는 왔다갔다 하는지 데이터가 들어오긴 들어오는데
무조건 0x00이 들어옵니다..
이 상황에 안드로이드든 AVR이든 한쪽을 빼서 노트북과 연결하면 또 정상입니다 ㅋㅋㅋ...
정말 너무 이해가 안되는 상황이네요...
혹시 관련된 문제를 겪어보시거나 해결방안을 알 것 같으신 분이 계시다면 도움주시면 정말 감사하겠습니다.
노트북과 PC는 같은 것입니다!
너무 멘붕상태에서 두서없이 적다보니 1번은 노트북 2번은 PC라고 했네요ㅋㅋㅋ,,ㅠ
둘이 같은겁니다..
신호 레벨과 관련이 있을 것 같은데 오실로스코프가
신호 레벨과 관련이 있을 것 같은데 오실로스코프가 있으신가요?
TX 핀을 한번 찍어보면 될 것 같은데 보통 RS485toUSB 장비는 신호 민감도가 좋은 경우가 많거든요.
혹시 모르니 baud rate 등 설정이 양쪽이 똑같은지 확인해 보세요.
답글감사합니다
오실로스코프상으로는 실제로 데이터가 오가는게 보이지않습니다.
하지만 클럭비트는 움직이는게 보입니다.
통신속도를 잘못설정하고 질문할정도로 문외한은아닙니다ㅜㅜ
그런데 노트북과연결하면 데이터비트가 정상적으로 움직입니다
하드웨어적인 문제가 있는것 같은데 풀업풀다운저항관련된얘기도 종종보이네요... 하드웨어쪽을전혀몰라서 정말감이안오네요...
아무튼 답변감사하고 하시는일 잘 되시길 기원합니다
감사합니다
혹시 Tx-Rx, Rx-Tx 이렇게 cross
혹시 Tx-Rx, Rx-Tx 이렇게 cross cable로 연결되어 있나요?
제대로 연결이 되어 있으면 보내는 쪽에서 보내고 있다면 tx cable에 데이터 신호가 떠야 합니다.
만약 Tx-Tx 로 연결되어 있으면 신호가 안뜰수도 있습니다. PC 쪽 RS485-USB 핀번호와 보드쪽 핀번호를 한번 살펴 보세요.
케이블을 반대로도연결해봤습니다
txrx케이블 반대로 꽂아보기도 해보았지만소용이없네요ㅠㅠ
답글감사합니다
오실로스코프상으로는 실제로 데이터가 오가는게 보이지않습니다.
하지만 클럭비트는 움직이는게 보입니다.
통신속도를 잘못설정하고 질문할정도로 문외한은아닙니다ㅜㅜ
그런데 노트북과연결하면 데이터비트가 정상적으로 움직입니다
하드웨어적인 문제가 있는것 같은데 풀업풀다운저항관련된얘기도 종종보이네요... 하드웨어쪽을전혀몰라서 정말감이안오네요...
아무튼 답변감사하고 하시는일 잘 되시길 기원합니다
감사합니다
댓글 달기