usb-native.ino

Arduino Due · Archivo : usb-native.ino · Lenguaje : Arduino · Uso : Utiliser le port USB Native pour un second port série indépendant

La Due tiene dos conectores USB: Programming (puente 16U2) y Native, conectado directamente al SAM3X. SerialUSB es un segundo puerto serie, y while(!SerialUSB) evita perder los mensajes de arranque.

Hardware necesario

Un Arduino Due (AT91SAM3X8E, ARM Cortex-M3 a 84 MHz) conectado por USB a su puerto « Programming ». Ojo: lógica de 3,3 V, nunca 5 V en los pines. Un segundo cable USB (o el mismo PC con dos puertos).

Cableado

Cable USB del puerto Native al ordenador; el puerto Programming puede quedarse conectado.

Funcionamiento

El SAM3X enumera un dispositivo CDC; SerialUSB.print escribe en él. Sin terminal abierto la espera bloquea: de ahí el while. En el Arduino IDE, elija « Arduino Due (Programming Port) » y Subir; el monitor serie va a la velocidad fijada en el código.

Para ir más lejos

Native sirve también al bootloader DFU y a puentes USB ↔ otro UART para instrumentos.

usb-native.ino

// Le SAM3X possede un USB device natif : SerialUSB = port "Native".
// Sur le port Native, il faut attendre l'ouverture du terminal.

void setup() {
  Serial.begin(9600);      // port Programming (ATmega16U2)
  SerialUSB.begin(9600);   // port Native (SAM3X direct)
  while (!SerialUSB);      // attend qu'un terminal ouvre le port Native
}

void loop() {
  SerialUSB.println(F("Bonjour depuis l'USB natif"));
  Serial.println(F("Idem depuis le port Programming"));
  if (SerialUSB.available()) {
    Serial.write(SerialUSB.read()); // Native -> Programming
  }
  delay(1000);
}

← Volver a la ficha