Ir al contenido

Puerto serie secundario

Esta familia controla un puerto serie secundario para hablar con otros dispositivos (un GPS, un módulo, otra placa). No es el enlace que la plataforma usa para controlar tu placa.

IdTipo
HW_SERIAL0HW_SERIAL3puertos por hardware (UART físico)
SW_SERIAL0SW_SERIAL3puertos por software (UART emulado en pines normales)
  • portId: uno de board.SERIAL_PORT_IDs.
  • baud: la velocidad en baudios (bits por segundo). Los dos extremos —tu placa y el otro dispositivo— deben usar el mismo número, o los datos llegan corruptos. Valores típicos: 9600, 57600, 115200. Por defecto es 57600.
  • rxPin / txPin: obligatorios para puertos por software (SW_SERIAL*), porque tú eliges en qué pines van la recepción (RX) y la transmisión (TX). Los puertos por hardware no los necesitan.
// Puerto por hardware:
board.serialConfig({
portId: board.SERIAL_PORT_IDs.HW_SERIAL1,
baud: 9600,
});
// Puerto por software (hay que indicar los pines):
board.serialConfig({
portId: board.SERIAL_PORT_IDs.SW_SERIAL0,
baud: 9600,
rxPin: 10,
txPin: 11,
});
const PUERTO = board.SERIAL_PORT_IDs.HW_SERIAL1;
board.serialWrite(PUERTO, [0x01, 0x02]); // envía un arreglo de bytes
// Lectura continua. El 2.º parámetro es cuántos bytes leer por vez;
// 0 = lee todo lo disponible.
board.serialRead(PUERTO, 0, (data) => {
varG.serial = data; // arreglo de bytes recibidos
});
MétodoQué hace
serialStop(portId)deja de leer en continuo (la config se conserva)
serialClose(portId)cierra el puerto
serialFlush(portId)vacía el buffer de salida
serialListen(portId)activa la escucha en un puerto por software
  • Reconfigurar HW_SERIAL0 → cortas el enlace de la plataforma.
  • SW_SERIAL* sin rxPin/txPin → error: son obligatorios.
  • Baudios distintos en los dos extremos → se reciben datos corruptos.