clignotante.ino

GD32F103 (GigaDevice) — chip + placas compatibles Blue Pill · Archivo : clignotante.ino · Lenguaje : Arduino · Uso : Faire clignoter la LED bleue PC13 (active à LOW)

El LED azul de las placas GD32/Blue Pill está en PC13 y es activo en LOW: el clásico «por qué parpadea al revés» de la placa. millis() deja el bucle libre; el core STM32F1 maneja el GD32 tal cual.

Hardware necesario

Una placa de desarrollo GD32F103C8T6 (Cortex-M3 a 108 MHz, compatible pin a pin con Blue Pill), alimentada a 3,3 V/5 V, con un adaptador ST-Link o serie. Ninguno: basta el LED integrado.

Cableado

Nada que cablear (LED en PC13 por 4,7 k). Para un LED externo: pin por 330 Ω a GND, lógica activa-alta esta vez.

Funcionamiento

digitalWrite invierte LOW/HIGH para encender el LED activo-bajo. El core Roger Clark apunta al STM32F103; el GD32F103, clon casi binario, responde al mismo código a 108 MHz. Con Arduino: instale el core « STM32F1 » (Roger Clark, gestor de placas) y elija la placa « GD32F103C »; el LED de usuario es PC13 (activo en LOW). En C: biblioteca de firmware GD32F10x + ST-Link.

Para ir más lejos

Dos LED y un patrón, o el periodo pilotado por un potenciómetro en PA0 (siguiente sketch).

clignotante.ino

// Clignotement non bloquant — LED bleue sur PC13, activee a LOW.
const int LED = PC13;
const unsigned long PERIODE = 500;

bool etat = false;
unsigned long precedent = 0;

void setup() {
  pinMode(LED, OUTPUT);
  Serial.begin(115200);            // Serial1 = PA9/PA10 (USB-Serie externe)
  Serial.println("Clignotement GD32 (108 MHz)");
}

void loop() {
  unsigned long t = millis();
  if (t - precedent >= PERIODE) {
    precedent = t;
    etat = !etat;
    digitalWrite(LED, etat ? LOW : HIGH);   // actif-bas !
    Serial.print("tick ");
    Serial.println(analogRead(PA0));        // bruit de fond d'un entree flottante
  }
}

← Volver a la ficha