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 프로그램 의 방식은 잘 작동합니다.)



잠깐 잘 돌아가다가 왜 문자열이 다 깨질까요? 도움 부탁드립니다.