본문 바로가기

Raspberry Pi Pico에서 UART 사용하기

by rudals.kim 2022. 4. 17. 댓글 개
반응형
Adafruit CircuitPython 7.2.3 / Raspberry Pi Pico with rp2040 에서 테스트 되었습니다.

 

라즈베리파이 피코 보드를 사용하여 UART 테스트를 해 보았습니다.

회로는 USB to Serial 보드와 TX/RX/GND선 3개의 라인만 연결하면 간단히 테스트를 할 수 있습니다.

USB to Serial Raspberry Pi Pico
RX GP0
TX GP1
GND GND

실제 배선은 아래와 같습니다.

보드의 생김새는 좀 다르지만 이더넷 커넥터 부분을 제외한 모든 핀 맵은 라즈베리파이 피코 보드의 핀 맵과 완전히 동일하므로 위 표의 배선을 참고하여 연결하시면 됩니다. (관련 내용 참고 : W5100S-EVB-Pico 보드)

위와 같은 하드웨어를 구성 후 아래 코드를 작성하였습니다.

import board 
import busio 
import digitalio 

uart = busio.UART(board.GP0, board.GP1, baudrate=9600) 

while True:
  data = uart.readline()
  if data is not None:
    print(data)
    uart.write(data)

 

UART의 RX(GP0), TX(GP1) 핀을 설정해 주고 baudrate는 9600으로 설정하였습니다.

UART로부터 new line이 입력될 때까지 수신된 데이터를 출력 후 재전송하는 간단한 코드입니다.

 

테스트 코드를 실행 후 윈도우 10 PC에서 UART 프로그램을 실행하여 'HELLO WORLD!!'와 '123465'를 입력해 보니 Thonny의 Shell 창에 정상적으로 수신된 데이터를 보여주고 write함수에 의해 재전송된 데이터는 PC의 UART 프로그램 수신 창에 정상적으로 수신이 되었습니다.

다른 디바이스와 UART 통신이 필요하다면 이런 식으로 구성하여 사용하면 될 것 같습니다.

가장 기본적인 UART 통신을 테스트해 보았습니다.

반응형

댓글