🛠 Console série sur RP2350 : USB CDC natif et UART0 de secours

RP2350 (générique / cartes basées sur le RP2350) · debutant · Schéma : IMG-rp2350-generic-debutant-2-rp2350-console-serie-uart.svg — carte RP2350 générique branchée en USB sur un PC (console CDC), et en parallèle un adaptateur USB-TTL relié à GP0 (TX0) et GP1 (RX0) avec masse commune, terminal à 115200 bauds

Objectifs

Le RP2350 intègre un contrôleur USB unique : USB 2.0 Full-Speed device (12 Mb/s) et hôte Full/Low-Speed avec PHY 1.1 intégré (datasheet RP2350, §12 USB). Sous MicroPython, la console passe par cet USB CDC natif — aucune puce série n'existe sur la carte. Mais dès que l'USB est occupé (mode HID, alimentation sur batterie) ou que les broches USB ne sont pas câblées (Pro Micro mal soudées, module nu), il te faut l'UART : le RP2350 dispose de 2 UART mappables sur n'importe quelle GPIO. Ce tuto met en place les deux voies de secours.

Matériel

Code complet

# main.py — printf sur USB CDC ET trace sur UART0 (GP0/GP1, 115200 8N1)
import sys
from machine import UART, Pin
import time

# 1) La console par défaut est l'USB CDC natif du RP2350 :
print('Bonjour depuis USB CDC')      # visible dans Thonny / mpremote

# 2) Console de secours indépendante sur UART0 :
uart = UART(0, baudrate=115200, tx=Pin(0), rx=Pin(1))
uart.write('RP2350 pret (UART0 115200 8N1)\r\n')

n = 0
while True:
    n += 1
    msg = 'tick %d uptime_ms=%d\r\n' % (n, time.ticks_ms)
    sys.stdout.write(msg)             # USB CDC
    uart.write(msg)                   # UART0 physique
    if uart.any:                    # écho de ce que le PC envoie
        uart.write('recu: ' + uart.read.decode(errors='replace') + '\r\n')
    time.sleep_ms(500)

Vérification attendue

Deux fenêtrès, mêmes lignes : Thonny (port CDC de la carte) et ton terminal série sur l'adaptateur (115200 8N1 — picocom -b 115200 /dev/ttyUSB0, ou le port COM sous Windows). Un caractère tapé côté adaptateur revient en écho. Débranche l'USB de la carte tout en la gardant alimentée en 5 V sur VREG_VIN (2,7–5,5 V) : la trace UART continue — tu as une console découplée de l'USB, indispensable pour debugger un programme qui plante l'énumération USB.

Erreurs fréquentes

Autres tutoriels pour cette carte

Exemples de code pour cette carte

← Retour à la fiche 🛠 Tous les tutoriels