如何在没有 vsnprintf 的情况下编写 UART 函数
How Can I write UART function without vsnprintf
如何在没有 vsnprintf 或 args 的情况下使用 Serialdebug 函数。我只想使用
HAL_UART_Transmit function to print my string.
而不是这个函数:
void Serialdebug(const char *serial_data, ...)
{
char uartbuffer[1024]="";
va_list arg;
va_start(arg, serial_data);
uint16_t len = vsnprintf(uartbuffer, 1024, serial_data, arg);
va_end(arg);
HAL_UART_Transmit(&huart2, (uint8_t *)uartbuffer, len, 100);
}
我该怎么做?
您基本上可以将函数简化为对 HAL_UART_Transmit
:
的调用
void Serialdebug(const char *str)
{
HAL_UART_Transmit(&huart2, (uint8_t *)str, strlen(str), 100);
}
如何在没有 vsnprintf 或 args 的情况下使用 Serialdebug 函数。我只想使用
HAL_UART_Transmit function to print my string.
而不是这个函数:
void Serialdebug(const char *serial_data, ...)
{
char uartbuffer[1024]="";
va_list arg;
va_start(arg, serial_data);
uint16_t len = vsnprintf(uartbuffer, 1024, serial_data, arg);
va_end(arg);
HAL_UART_Transmit(&huart2, (uint8_t *)uartbuffer, len, 100);
}
我该怎么做?
您基本上可以将函数简化为对 HAL_UART_Transmit
:
void Serialdebug(const char *str)
{
HAL_UART_Transmit(&huart2, (uint8_t *)str, strlen(str), 100);
}