🛠 Faire clignoter la LED embarquée (elle est derrière la puce Wi-Fi !)

Raspberry Pi Pico W · debutant · Schéma : IMG-pico-w-debutant-1-picow-blink-led.svg — Raspberry Pi Pico W vue de dessus avec la LED utilisateur mise en évidence, flèche pointant depuis la puce CYW43439 (blindage métallique) vers la LED, câble micro-USB branché

Objetivos

Descubrir la Raspberry Pi Pico W (RP2040 de doble núcleo Cortex-M0+ a 133 MHz + chip de radio Infineon CYW43439 Wi-Fi/BT) con el gran clásico: el parpadeo del LED. Pero atención, la Pico W tiene una particularidad única: el LED de usuario no está en un GPIO del RP2040, está conectado al pin WL_GPIO0 del chip Wi-Fi CYW43439. Por lo tanto, el ejemplo blink_simple del SDK no funciona en la Pico W; hay que pasar por el controlador inalámbrico (picow_blink en pico-examples). También aprenderás por qué GP23, GP24, GP25 y GP29 no son GPIO libres en esta placa.

Material

Código completo

// picow_blink.ino-like C SDK — la LED est sur WL_GPIO0 du CYW43439
// CMake : pico_stdlib + pico_cyw43_arch_none (pas besoin du réseau ici)
#include "pico/stdlib.h"
#include "pico/cyw43_arch.h"

int main(void) {
    // cyw43_arch_init alimente le CYW43439 (via GP23) et charge son firmware
    if (cyw43_arch_init) {
        return 1;   // impossible d'initialiser la puce radio
    }
    while (true) {
        cyw43_arch_gpio_put(CYW43_WL_GPIO_LED_PIN, 1);  // LED ON (WL_GPIO0)
        sleep_ms(250);
        cyw43_arch_gpio_put(CYW43_WL_GPIO_LED_PIN, 0);  // LED OFF
        sleep_ms(750);
    }
}
// Équivalent MicroPython (firmware _picow) :
//   from machine import Pin; import time
//   led = Pin("LED", Pin.OUT)   # alias de la broche pilotée via cyw43
//   > 
//   # (souvent cité comme GP23) n'est pas confirmé dans la quickref rp2.

Verificación esperada

El LED verde parpadea: encendido 250 ms, apagado 750 ms. Si hubieras escrito el blink «Pico clásica» con gpio_init(25), nada parpadea — y con razón: en la Pico W, GP25 está consumida internamente (chip-select del SPI que controla el CYW43439) y el LED está en otro lugar. ¡Esta es LA lección de este tutorial!

Errores frecuentes

Otros tutoriales para esta placa

Ejemplos de código para esta placa

← Volver a la ficha 🛠 Todos los tutoriales