console_uart.c

nRF52833-DK (id de boards.json: nrf52833-dk) · Archivo : console_uart.c · Lenguaje : C · Uso : Tracer des mesures sur la console série

La consola serie es la primera línea de vida de un firmware nRF: este sketch imprime contador, uptime y un valor de sensor a 1 Hz por la UART console. En el DK es el « USB UART » del conector; en el MDK, el CDC del USB nativo.

Hardware

Una placa nRF52833-DK (Nordic, SoC nRF52833 Cortex-M4F, BLE 5) alimentada por USB: 4 LED en P0.13-P0.16 (activos a nivel bajo) y 4 botones en P0.11, P0.12, P0.24, P0.25 (activos a bajo, pull-up interno a activar). La placa y un cable micro-USB/USB-C; un terminal serie (minicom, PuTTY, west uart_console) a 115200 baudios.

Cableado

Sin cableado: la consola viaja por el USB de programación. Los pines UART del conector quedan libres para un segundo puerto.

Funcionamiento

printk se enruta al dispositivo elegido por zephyr,console en el devicetree; k_uptime_get devuelve milisegundos desde el arranque, útil para fechar eventos.

Ejecución

Proyecto Zephyr: west build -b nrf52833dk/nrf52833 y luego west flash (J-Link embarcado); consola serie 115200 en el conector USB UART.

Variantes

Pasar al subsistema de logging (LOG_INF) para niveles filtrables, crear un segundo UART con overlay para un módulo externo, o formatear en CSV para registro.

console_uart.c

/* Console série Zephyr : trame périodique sur l'UART console.
 * DK : l'USB « USB UART » du connecteur micro-B (115200 8N1).
 * MDK : l'USB natif du nRF52840 (CDC) selon le BSP. */
#include <zephyr/kernel.h>

int main(void)
{
	int n = 0;

	printk("Console prête — mesure 1 Hz\n");
	while (1) {
		/* Exemple de trame : compteur + uptime + une fausse
		   valeur capteur dérivée du compteur. */
		int valeur = 100 + (n % 25);
		printk("[%05d] uptime=%lld ms valeur=%d\n",
		       n, k_uptime_get(), valeur);
		n++;
		k_msleep(1000);
	}
	return 0;
}

← Volver a la ficha