TEL. 053-453-6585
OPEN&CLOSE.  9:00~19:00
CLODED SHOP.  MONDAY
 
 
 

usart 통신 예제

2019年8月2日

일부 직렬 버스는 송신 장치와 수신 장치 간의 단일 연결만으로 도망칠 수 있습니다. 예를 들어, 직렬 지원 LCD는 모두 귀이며 제어 장치로 다시 릴레이할 데이터가 없습니다. 이것이 심플렉스 직렬 통신이라고 합니다. 마스터 장치의 TX에서 청취자의 RX 회선까지 단일 와이어만 있으면 됩니다. 이제 하드웨어를 사용할 준비가 되었습니다. 런치패드를 컴퓨터의 USB 포트에 연결하면 장치는 프로그래밍 및 디버깅에 필요한 HID(휴먼 인터페이스 장치) 및 UART용 CDC(통신 장치 클래스)의 두 클래스로 시작됩니다. Windows에서 장치 관리자를 체크 인하면 장치가 발견되지 않은 것을 볼 수 있습니다. 이것은 정상이며 TI는 두 채널에 대한 드라이버를 제공합니다(나중에 자세히 보기). Linux(호스트로 실행됨)에서 CDC 채널은 /dev/ttyACMx(x가 정수 값인 경우)로 나타나며 일반 직렬 포트인 것처럼 직접 읽을 수 있습니다. 그러나 mspdebug를 사용하여 디버거를 연결하면 이제 직렬 연결이 끊어졌습니다. 런치패드에서 디버거와 직렬 포트를 구현하는 방식은 다소 결함이 있습니다.

그들이 하려고 했던 것은 유효하지만, 어떤 이유로 그것은 불행하게도 매우 flakey, 특히 리눅스에서. 한 번에 하나만 실행할 수 있습니다., 조금 불편, 하지만 무엇 더 나쁜 CDC 채널 버추얼 박스에서 전혀 작동 하지 않습니다. 나는 커널 모듈, 다른 설정 등을 다시 컴파일 일 동안 시도 … 운이 없습니다. 나를 위해 일한 몇 가지 옵션 / 해결 방법이 있으며 어떤 것이 가장 적합한지 결정할 수 있습니다. UART 직렬 통신을 위한 2개의 장치에 대한 적절한 연결은 다음과 같습니다: 송신기의 TX는 수신기의 RX로 이동하고 수신기의 TX는 송신기의 RX로 이동합니다. 솔직히 말해서, 2 와이어는 기본적으로 교차! 데이터가 9600bps Baud 속도로 전송되고 38400bps로 수신되는 경우. 수신 된 데이터는 총 엉망 (쓰레기)가 될 것입니다! 바우 속도는 양쪽 끝 (송신기 및 수신기)에서 일치해야합니다. 그것은 UART 직렬 통신에서 엄지 손가락의 규칙입니다. baud 비율의 최대 허용 변동은 (1-2 %) 사이인 경향이 있습니다. 따라서 일치하지 않는 오류를 방지하기 위해 양쪽 끝에서 정확히 동일한 baud 비율을 생성하십시오.

コメント