그래블로 도움말 그래블로 도움말
  • 시작하기
  • 사용 가이드
    • 사용자 매뉴얼
    • 예제
  • 참고 자료
    • 유용한 정보
    • 자주 하는 질문
    • 업데이트 소식
  • 링크
    • 그래블로 홈
    • 그래블로 앱
문의하기
그래블로 도움말 그래블로 도움말
문의하기
그래블로 도움말 그래블로 도움말
  • 시작하기
  • 사용 가이드
    • 사용자 매뉴얼
    • 예제
  • 참고 자료
    • 유용한 정보
    • 자주 하는 질문
    • 업데이트 소식
  • 링크
    • 그래블로 홈
    • 그래블로 앱
loading
  1. Home
  2. 유용한 정보
  3. 하드웨어
  4. 라즈베리파이
  5. 시리얼 (UART) 포트
Updated on 6월 24, 2025

유용한 정보

  • Folder icon closed Folder open icon기초지식
    • 비트와 바이트
    • 디지털 입력/출력
    • 디지털/아날로그 신호
    • LED 저항 용량 계산하기
    • 풀업/풀다운 저항
    • 3.3V <-> 5V 변환
    • 시리얼 통신 (UART)
    • DC모터, 서보모터, 스텝모터
    • 멀티 쓰레드 (Multi Thread)
    • 릴레이 (Relay)
  • Folder icon closed Folder open icon하드웨어
    • 라즈베리파이
      • GPIO
      • 운영체제 설치하기
      • 1-Wire핀을 변경하는 방법
      • I2C 장치의 주소를 찾는 방법
      • 라즈베리파이 vs 아두이노
      • 시리얼 (UART) 포트
      • VNC로 데스크탑 환경 사용하기
    • 비글본
      • GPIO
      • 운영체제 설치하기
    • 젯슨 나노
      • GPIO
      • 운영체제 설치하기
    • 확장 GPIO
      • FT232H/FT2232H/FT4232H
      • MCP2221A
      • NUMATO USB-GPIO
  • Folder icon closed Folder open icon리눅스
    • 리눅스 디렉토리 구조
    • 리눅스 자동 로그인 설정하기
    • 윈도우에 리눅스 설치하기 (가상 머신)
    • 맥OS에 리눅스 설치하기 (가상머신)
    • SSH 서버 설치하기
    • 컨트롤러의 IP 주소를 모를 때
    • SSH 접속하기
    • PC, 컨트롤러 사이 파일 전송하기
    • “sudoer 설정 파일에 없습니다.” 오류 발생시
  • Folder icon closed Folder open icon오디오/비디오
    • 오디오 재생 시 소리가 끊기거나 지연되는 문제
    • 블루투스 스피커로 사운드 출력하기
    • 음원 파일에서 악기 선택하기
    • “Failed to create new vlc instance.” 에러가 발생하는 경우
  • Folder icon closed Folder open icon데이터베이스
    • Firebase DB 사용하기
  • Folder icon closed Folder open iconIOT
    • Google Cloud TTS/STT 사용하기
    • OpenAI TTS/STT 사용하기
    • ElevenLabs TTS 사용하기
    • 텔레그램 봇 사용하기
    • WeatherAPI.com에서 날씨 데이터 받기

시리얼 (UART) 포트

Estimated reading: 2 minutes 219 views

UART

UART는 범용 비동기 송수신기(Universal Asynchronous Receiver/Transmitter)의 약자로 직렬 데이터를 교환하는 간단한 2선식 프로토콜입니다. 흔히 시리얼 통신이라고 불립니다. UART에 대한 자세한 내용은 여기를 참고합니다.

라즈베리파이에는 두가지 타입의 UART가 있습니다.

  • Full UART (PL011 UART)
  • Mini UART

Mini UART는 Full UART에 비해 더 낮은 성능과 일부 기능이 제외되어 있습니다.


Primary / Secondary

아래는 라즈베리파이 모델에 따른 Primary/Secondary UART의 종류를 나타낸 것입니다.

하드웨어 UART핀 GPIO 14, 15은 Primary UART 를 의미합니다.

라즈베리파이 모델 Primary UART Secondary UART
Raspberry Pi Zero Full UART (UART0) Mini UART (UART1)
Raspberry Pi Zero W Mini UART (UART1) Full UART (UART0, 블루투스용) ¹
Raspberry Pi 1 Full UART (UART0) Mini UART (UART1)
Raspberry Pi 2 Full UART (UART0) Mini UART (UART1)
Raspberry Pi 3 Mini UART (UART1) ² Full UART (UART0, 블루투스용) ¹
Raspberry Pi 4 ³ Mini UART (UART1) Full UART (UART0, 블루투스용) ¹
¹ 블루투스가 탑재된 라즈베리파이 모델은 Secondary UART가 블루투스 전용으로 사용됩니다.
² 라즈베리파이 3의 경우, GPU frequency scaling 기능으로 인해 Mini UART 통신에 문제가 발생할 수 있습니다.
³ 라즈베리파이 4에는 숨겨진 Full UART 4개 (UART2 ~ UART5) 가 존재합니다. 설정을 변경하여 UART 포트를 추가할 수 있습니다.


장치

UART는 라즈베리파이OS (리눅스)에서 장치로 인식하며 장치명은 아래와 같습니다.

UART 장치명
Full UART (UART 0) /dev/ttyAMA0
Mini UART (UART 1) /dev/ttyS0


라즈베리파이 모델에 따라 Primary UART의 타입이 다르므로 아래와 같이 Symbolic link 이름을 사용할 수도 있습니다.

UART 장치명
Primary /dev/serial0
Secondary /dev/serial1


Mini UART 대신 Full UART 사용하기 (라즈베리파이 3)

라즈베리파이3에서는 GPU frequency scaling 기능으로 인해 Mini UART (UART 1)를 사용한 시리얼통신에 문제가 발생할 수 있습니다. 다음 설정을 통해 Full UART (UART 0)를 시리얼 통신에 사용하도록 변경할 수 있습니다.

라즈베리파이 터미널을 실행시키거나 또는 SSH로 접속한 후 아래와 같이 입력합니다.

sudo nano /boot/config.txt


내용의 마지막에, 다음 내용을 추가합니다.

dtoverlay=miniuart-bt


Ctrl + O -> 엔터 -> Ctrl + X 를 눌러 저장하고 편집기를 종료합니다.


아래 명령으로 라즈베리파이를 재부팅합니다.

sudo reboot


이제 시리얼통신에 Full UART (UART 0)을 사용하므로 안정적인 통신이 가능합니다. 다만, 이제 블루투스 통신은 사용이 불가능합니다.


숨겨진 UART 사용하기 (라즈베리파이 4)

라즈베리파이 4에는 숨겨진 4개의 Full UART가 존재하며, 설정을 변경하여 사용할 수 있습니다. 라즈베리파이 터미널을 열고 아래와 같이 입력합니다.

sudo nano /boot/config.txt


내용의 마지막에, 사용하고자 하는 숨겨진 UART를 추가합니다. 여기서는 4개 모두 추가해봅니다.

dtoverlay=uart2

dtoverlay=uart3

dtoverlay=uart4

dtoverlay=uart5


추가 UART 포트의 GPIO 핀은 다음과 같습니다.

UART TXD RXD
UART 2 GPIO 0 GPIO 1
UART 3 GPIO 4 GPIO 5
UART 4 GPIO 8 GPIO 9
UART 5 GPIO 12 GPIO 13


아래와 같이 TX/RX 핀의 GPIO 번호를 직접 지정해줄 수도 있습니다.

dtoverlay=uart2,txd2_pin=16,rxd2_pin=17


Ctrl + O -> 엔터 -> Ctrl + X 를 눌러 저장하고 편집기를 종료합니다.


아래 명령으로 라즈베리파이를 재부팅합니다.

sudo reboot


다음을 입력하면 Full UART 타입의 ttyAMA1~ttyAMA4 가 추가된 것을 확인할 수 있습니다.

dmesg | grep tty


USB-TTL 컨버터

USB-TTL 컨버터를 이용하여 UART포트를 추가할 수 있습니다. 지원하는 대표적인 칩셋은 다음과 같습니다.

  • FTDI FT232RL
  • CP2102
  • PL2303
  • CH340


USB-TTL 컨버터를 라즈베리파이에 연결 후 터미널에 다음과 같이 입력합니다.

ls -l /dev/ttyUSB*


현재 연결된 USB-TTL 컨버터의 포트를 표시해줍니다. (ttyUSBx)

해당 포트이름으로 시리얼 통신을 사용할 수 있습니다.

찾으시는 내용이 없나요? 문의하기

문의하기

공유하기

시리얼 (UART) 포트

Or copy link

Clipboard Icon
콘탠츠

ㅤ

대전광역시 서구 둔산로 8
(주)그래블로
support@grablo.co

바로가기

  • 시작하기
  • 사용자 매뉴얼
  • 예제
  • 유용한 정보
  • 자주하는 질문
  • 업데이트 소식
  • 그래블로 홈
  • 그래블로 앱
  • 문의하기

관련 사이트

  • 유튜브
  • 인스타그램
  • 페이스북

약관 및 라이센스

  • 서비스 이용약관
  • 개인정보 처리방침
  • 오픈소스 라이센스

이 사이트의 모든 컨텐츠는 저작권법에 보호받는 저작물로서, 무단으로 복제, 배포하는 경우에는 저작권법에 의하여 처벌을 받을 수 있습니다. Copyright 2024 grablo.co. All Rights Reserved.