单片机学习小组
直播中

丁冬芹

7年用户 1286经验值
私信 关注

如何將printf函数使用在UART1?

各位大大好,我的印象printf預設是在UART0,如果我想用在UART1,是要在哪邊更改?

回帖(1)

李斌

2023-11-1 10:36:45
要将printf函数使用在UART1上,需要更改串口的配置,并将printf输出重定向到UART1。

首先,需要在代码中配置UART1的参数,例如波特率、数据位、停止位和校验位。可以使用STM32提供的库函数进行配置。具体配置可以参考STM32官方文档和示例代码。

然后,需要在代码中实现printf输出重定向到UART1。可以使用重定向函数进行实现,例如将重定向函数设为:

```
int fputc(int ch, FILE *f)
{
    HAL_UART_Transmit(&huart1, (uint8_t *)&ch, 1, 0xFFFF);
    return ch;
}
```

这个函数将把printf输出重定向到UART1串口上,即使用HAL_UART_Transmit函数将字符一个一个地发送到UART1上。

最后,在需要使用printf输出的地方调用printf函数即可实现在UART1上进行输出。例如:

```
printf("Hello World!");
```

这个语句将会把“Hello World!”发送到UART1上。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分