🛠 Activer le bus SPI0 et piloter un petit écran TFT

Banana Pi BPI-M2 Zero (Allwinner H2+ / H3) · intermediaire · Schéma : IMG-bananapi-m2-zero-intermediaire-2-spi0-ecran-tft-m2-zero.svg — écran TFT 2,4 pouces (contrôleur ILI9341) câblé sur les broches SPI0 du BPI-M2 Zero : broches 19/21/23/24 (PC0 à PC3) plus 3V3 et GND, avec les étiquettes MOSI/MISO/CLK/CS.

Objetivos

El conector de 40 pines del BPI-M2 Zero expone el controlador SPI0 en los pines 19/21/23/24 (señales PC0 a PC3 según la tabla de la wiki): lo suficiente para conectar una pequeña pantalla TFT con controlador ILI9341, un visualizador segmentado o cualquier dispositivo SPI. Vas a activar el bus mediante la configuración de Armbian, verificar el controlador con una prueba de bucle directo de MOSI a MISO, y luego escribir bytes con python-spidev antes de abordar la capa framebuffer.

Material

Código completo

# 1) Activer SPI0 (overlay) puis redémarrer
grep overlays /boot/armbianEnv.txt
sudo armbian-config    # System > Hardware > SPI0 (spi-spidev)
sudo reboot

# 2) Le périphérique est apparu
ls /dev/spidev*
ls -l /sys/class/spi_master/ | cat

# 3) Test boucle-à-boucle : pont filaire broche 19 (MOSI) -> broche 21 (MISO)
sudo apt install -y python3-spidev
python3 - <<'EOF'
import spidev
spi = spidev.SpiDev
spi.open(0, 0)              # bus 0, cs0
spi.max_speed_hz = 8000000
rx = spi.xfer2([0xA5, 0x5A, 0xF0])
print("reçu :", [hex(b) for b in rx])   # attendu 0xa5 0x5a 0xf0 en boucle-à-boucle
EOF

# 4) Écran ILI9341 : piloter via un pilote framebuffer (fbtft) ou une
#    bibliothèque Python dédiée au contrôleur, en gardant SPI <= 8-16 MHz

Verificación esperada

Tras la activación, /dev/spidev0.0 existe; la prueba de bucle directo devuelve exactamente los bytes emitidos (0xa5, 0x5a, 0xf0), lo que demuestra que el controlador, la multiplexación PC0-PC3 y el cableado son correctos. Una vez conectada la pantalla, las bibliotecas ILI9341 muestran formas y texto.

Errores frecuentes

Otros tutoriales para esta placa

Ejemplos de código para esta placa

← Volver a la ficha 🛠 Todos los tutoriales