第六篇 STM32H5 串口printf工程
一 USART硬件选择
真的是没有找到原理图只能看Nucleo的介绍
选择一个板载的USART
看下数据手册这两个管脚
二 USART介绍
STM32的参考手册中,串口USART ((Universal Synchronous Asynchronous Receiver and Transmitter, 通用同步异步收发器), 是一个串行通信设备,可以灵活地与外部设备进行全双工数据交换。UART(Universal Asynchronous Receiver and Transmitter),它是在 USART 基础上裁剪掉了同步通信功能,只有异步通信。简单区分同步和异步就是看通信时需不需要对外提供时钟输出,我们一般用的串口通信基本都是 UART,也就是Asynchronous异步的UART,后续生成工程的时候需要注意。
看下STM32H5的串口特性
三 创建工程
在之前的工程基础上,时钟什么的就按照之前250M
直接开始串口的配置
生成工程
生成工程后,打开工程,在main.c里加入一段代码
因为我这里选用的是uart3
/* USER CODE END 0 */
int fputc(int ch, FILE *f)
{
HAL_UART_Transmit(&huart3, (uint8_t *)&ch, 1, 2);//huart根据你的配置修改
return ch;
}
这个问题纠结了有几十分钟,无论怎么都搞不定,试了好多解决方法,启动文件也去修改了没用,最终解决办法就是点击重新编译即可。
四 测试情况
本帖最后由 常见泽1 于 2023-5-13 22:36 编辑