🛠 Logger sur carte SD via le port SDIO natif du Teensy 4.1

Teensy 4.1 · intermediaire · Schéma : le connecteur SD monté sous le Teensy 4.1, relié au bus SDIO 4 bits indépendant du SPI ; à côté, le contrôleur i.MX RT1062 avec ses 32 canaux DMA généraux et le DMA dédié du périphérique SD.

Objectifs

Le Teensy 4.1 est la seule carte de la famille à disposer d'un connecteur SD sous la carte, branché sur un port SDIO natif 4 bits : ni partage du bus SPI, ni broche chip-select à câbler, et un DMA dédié dans le périphérique. Ce tutoriel met en place un enregistreur de mesures capables d'écrire en continu sans bloquer le reste du programme.

Matériel

Points clés

Code complet

#include <SD.h>

const uint8_t LED = 13;

void setup {
  Serial.begin(9600);
  while (!Serial && millis < 3000);
  if (!SD.begin(BUILTIN_SDCARD)) {
    Serial.println("SD absente (FAT32, <= 32 Go)");
    while (true) { digitalWrite(LED, !digitalRead(LED)); delay(200); }
  }
  Serial.println("SD prête sur SDIO");
}

void loop {
  File log = SD.open("log.txt", FILE_WRITE);
  if (log) {
    log.print(millis);
    log.print(" A0=");
    log.println(analogRead(14));
    log.close;
  }
  delay(1000);
}

Vérification attendue

SD prête sur SDIO s'affiche au premier lancement ; après rebranchement, log.txt contient une ligne par seconde. Retirez la carte et rebranchez l'alimentation : la LED 13 clignote vite, signe que SD.begin a échoué — votre programme de secours fait son travail.

Erreurs fréquentes

Autres tutoriels pour cette carte

Exemples de code pour cette carte

← Retour à la fiche 🛠 Tous les tutoriels