도와주세요!!
글 수 15,339
2011.09.04 13:28:05 (*.248.235.38)
30476
Ez-X5 로 갓 임베디드를 시작한 학생입니다.
UART 기능을 사용해보려고 J6 에 있는 TX, RX, GND 핀을 CP2102 USB to UART 와 연결
USB 는 다른 컴퓨터에 꽃아 Python 의 Pyserial 패키지를 사용해서 데이터를 송수신했습니다.
Ez-X5 에선 /dev/ttyS0 드라이버를 썼고 FF_UART 로 점퍼를 달았고요.
코드는 '강좌 & 팁' -> '네트워크 프로그래밍' 에 있는 예제 코드를 Baud rate 만 9600 으로 바꿔서 사용했습니다.
Python 서버에서도 9600으로 맞췄고요.
문자열을 하나 전송하는데 처음엔 잘 받아졌지만 나중에 또 테스트해보니
문자열이 깨져서 받아집니다. Ez-X5 에서 받을 때도 마찬가지고요.
"t" 를 보내면 "0x11" 이 받아집니다. Null 이나 0x00 은 0 으로 받아지지만 나머지 모든
문자나 숫자가 깨지고요. 8bit, parity, stop bit, baud rate 등도 모두 일치합니다.
ascii code 인가 싶더니 그것도 아니더군요. 그냥 데이터가 엉망입니다.
(Python 으로 AVR -> CP2102 -> Python 프로그램 의 방식은 잘 작동합니다.)
잠깐 잘 돌아가다가 왜 문자열이 다 깨질까요? 도움 부탁드립니다.