【发布时间】:2021-12-20 15:45:32
【问题描述】:
我刚开始使用 STM32 微控制器,我正在将 printf 的输出重定向到 UART。出于某种奇怪的原因,显示的终端不断添加代码中不存在的额外空格。我似乎找不到原因。
这是显示输出的截图;请注意阶梯状的外观,因为每个 printf 语句都被换成了一个比前一个缩进更深的新行:
这是我用来重定向printf的代码:
int _write(int file, char *ptr, int len)
{
HAL_USART_Transmit(&husart3, (uint8_t*)ptr, len, HAL_MAX_DELAY);
return len;
}
我调用这段代码如下:
printf("program starting...\n");
int counter = 0;
while(1)
{
printf("counter = %d\n", counter);
counter++;
HAL_Delay(1000);
}
什么可能导致这种奇怪的包装行为,我该如何解决?
【问题讨论】:
-
我将如何展示我面临的问题?
-
在终端程序中选择文本,复制并粘贴为文本。要保留格式,请使用
{}按钮、按 Ctrl+K 或将其括在三个反斜杠中 - 与代码相同。
标签: c embedded printf stm32 uart