Q: How do I print an integer (or other non-string variable) to the PSoC UART?
A: According to the PSoC UART data sheet, the UART only outputs strings and characters. Therefore, we need to convert the integer to a string first, and then output it using the UART. Solution: the sprintf() function in stdio.h
The following C code uses printf() (which does not output to the UART):
int a; // declare variable
a = 5; // initialize variable
float b; // declare variable
b = 6.7; // initialize variable
printf(“Value = %i,%f\n”, a,b); // print to screen (not UART)
The following C code uses sprintf() to create a string and outputs it using the UART):
#include <stdio.h> // include the library with sprintf()
int a = 5; // declare and initialize variable
float b = 6.7; // declare and initialize variable
char obuffer[100]; // declare output buffer string
UART_Start(); // only need this once in the program
// print to string using a similar syntax to the printf statement
sprintf( obuffer, “Value = %i,%f\n”, a, b );
UART_UartPutString( obuffer ); // output the string to the UART