clignotante.ino

GD32F103 (GigaDevice) — puce + cartes compatibles Blue Pill · Fichier : clignotante.ino · Langage : Arduino · Usage : Faire clignoter la LED bleue PC13 (active à LOW)

La LED bleue des cartes GD32/Blue Pill est sur PC13 et active à LOW — le premier « pourquoi elle clignote à l'envers » de la carte. millis() garde la boucle libre, le core STM32F1 accepte le GD32 tel quel.

Matériel requis

Une carte de développement GD32F103C8T6 (Cortex-M3 108 MHz, compatible broche à broche Blue Pill), alimentée en 3,3 V/5 V, avec un adaptateur ST-Link ou série. Aucun : la LED embarquee suffit.

Branchement

Rien a cabler (LED sur PC13 via 4,7 k). Pour une LED externe : broche via 330 Ω vers GND, logique active-hau cette fois.

Fonctionnement

digitalWrite inverse LOW/HIGH pour allumer la LED actif-bas. Le core Roger Clark cible le STM32F103 ; le GD32F103, clone quasi binaire, repond au meme code a 108 MHz. Avec Arduino : installez le core « STM32F1 » (Roger Clark, gestionnaire de cartes) et choisissez la carte « GD32F103C » ; le LED utilisateur est PC13 (actif à LOW). En C : bibliothèque GD32F10x + ST-Link.

Pour aller plus loin

Deux LED et un motif, ou la periode pilotee par un potentiometre sur PA0 (sketch suivant).

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
  }
}

← Retour à la fiche