Red de conocimiento informático - Material del sitio web - Cómo asignar la función printf a dos uarts

Cómo asignar la función printf a dos uarts

El método es el siguiente:

#include lt;stdarg.hgt;

#include lt;string.hgt

#include lt;stdlib.hgt;

p>

#include lt; stdio.hgt;

#include lt; ctype.hgt

void uart_sendstst.

p>

#include lt ;ctype.hgt;

void uart_sendstring(char *pt)

{

mientras(*pt)

uart_putchar(*pt );

}

#include lt;stdlib.hgt;

#include lt;stdio

.

void uart_printf(char * fmt,...)

{

va_list ap;

char string[256]; p>va_start(ap, fmt)

vsprintf(string, fmt, ap); // Usarlo aumentará el tamaño del código y reducirá la eficiencia

uart_sendstring(string); p>

va_end(ap );

}

}

Explicación: Según la función anterior, uart_printf es equivalente a la salida formateada en lenguaje C. function printf

Explicación: Según la función anterior, uart_printf es equivalente a la función de salida formateada printf en lenguaje C, es decir, uart_printf("uart_printf num = d \n", 100); como Asistente de depuración de puerto serie y Hyper Terminal para recibir.

Algunos tipos de la función uart_printf y funciones como va_list vsprintf() se definen en el archivo de encabezado stdarg.h.

Esta es la primera vez que se utiliza la función uart_printf.

uart_putchar() es la función que envía bytes en nuestro controlador UART. Creo que cada MCU tendrá esta función voiduart_putchar (datos de caracteres).