UART (Universal Asynchronous Receiver-Transmitter) — это один из самых простых и распространенных протоколов для обмена данными между устройствами. Он применяется для подключения компьютеров, микроконтроллеров, сенсоров и других модулей. Raspberry Pi Pico обладает двумя апаратными UART-каналами, которые обозначаются как UART0 и UART1.
В этом руководстве мы рассмотрим, как использовать UART в Raspberry Pi Pico для обмена данными с внешними устройствами, напишем простой пример кода и обсудим основные шаги настройки.
Основы UART
UART работает по принципу пары TX (transmit — передача) и RX (receive — прием). TX одного устройства подключается к RX другого устройства и наоборот. Помимо этого, важно совпадение скорости передачи данных (боды) на обоих устройствах.
Основные пины UART в Raspberry Pi Pico:
- UART0 TX: GPIO0
- UART0 RX: GPIO1
- UART1 TX: GPIO4
- UART1 RX: GPIO5
Но можно и перенастроить пины для UART на другие линии. Вот варианты:


UART в Raspberry Pi Pico обеспечивает поддержку надежную передачи данных на скорости до 115200 бод.
Настройка UART в Raspberry Pi Pico
Чтобы начать работу с UART в Raspberry Pi Pico, понадобится компилятор или редактор кода, например Thonny IDE, и библиотеки MicroPython или C/C++ SDK. В этом примере мы используем MicroPython.
Код на MicroPython для UART
Пример кода покажет, как отправлять и принимать данные способом UART:
from machine import UART, Pin
import time
# Инициализация UART0
uart0 = UART(0, baudrate=9600, tx=Pin(0), rx=Pin(1))
# Функция для отправки данных
def send_data(data):
uart0.write(data + '\n')
# Функция для чтения данных
def receive_data():
if uart0.any():
return uart0.readline().decode('utf-8').strip()
return None
# Пример обработки
while True:
send_data("Hello from Raspberry Pi Pico!")
time.sleep(1)
received = receive_data()
if received:
print("Received:", received)
Объяснение:
- Мы инициализируем UART0 скоростью 9600 бод и задаем пины TX и RX.
- Отправляем сообщение по UART с помощью
uart0.write(). - Читаем входящие данные и проверяем, поступили ли они.
UART — это простой и эффективный способ обмена данными между Raspberry Pi Pico и другими устройствами. Используя MicroPython или C/C++, вы можете быстро настроить передачу и прием данных. Этот протокол подходит для множества задач, включая мониторинг, передачу команд и взаимодействие с периферийными устройствами.
Попробуйте реализовать свои проекты с использованием UART и откройте для себя все его возможности.