Puerto serie secundario
This content is not available in your language yet.
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.
Elegir el puerto: board.SERIAL_PORT_IDs
Sección titulada «Elegir el puerto: board.SERIAL_PORT_IDs»| Id | Tipo |
|---|---|
HW_SERIAL0 … HW_SERIAL3 | puertos por hardware (UART físico) |
SW_SERIAL0 … SW_SERIAL3 | puertos por software (UART emulado en pines normales) |
Configurar: serialConfig(opciones)
Sección titulada «Configurar: serialConfig(opciones)»portId: uno deboard.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 es57600.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,});Escribir y leer
Sección titulada «Escribir y leer»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});Resto de métodos
Sección titulada «Resto de métodos»| Método | Qué 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 |
Errores típicos
Sección titulada «Errores típicos»- Reconfigurar
HW_SERIAL0→ cortas el enlace de la plataforma. SW_SERIAL*sinrxPin/txPin→ error: son obligatorios.- Baudios distintos en los dos extremos → se reciben datos corruptos.