在CubeIDE中配置使用Printf打印串口USART数据
在cubeide里面简单实现 ,使用printf打印串口usart的功能
第一步
不管你是cubeide还是cubeMX ,打开引脚配置图形化界面选择USART1(当然也可以选择其他的),这里假设是USART1
直接使用Pinout界面中左侧的Connectivity中的USART1设置Mode为异步模式Asynchronous,然后生成代码
第二步
这样你就可以在main.c中include "usart.h"引用这个串口文件,可以在Core/Src中找到usart.c文件
注意:如果你生成代码之后没有找到这个文件,可能你没有勾选某个配置,步骤如下
第2.5步(勾选.c.h配置)
点开图形化界面,然后在Project Manger界面勾选Code Generator里面的
Generateperipheralinitializationasapairof'c/.h'filesperperipheral
这样配置的一些函数依赖才会包括出来 比如Include "usart.h"
然后再 重新生成代码就ok了
第三步
打开usart.c文件(注意是.c)
在这个usart.c文件中添加代码(注意是在用户允许添加代码的区域添加) 添加的区域最好是在/* USER CODE BEGIN 0 */后面
#include <stdio.h>
int _write(int file, char *ptr, int len) {
HAL_UART_Transmit(&huart1, (uint8_t*)ptr, len, HAL_MAX_DELAY);
return len;
}
原理是重写了printf函数里面的代码逻辑,使printf后的数据通过串口函数HAL_UART_Transmit发送,在这个函数里面huart1是你设置的串口x,如果你是USART1的串口那么就跟我一样,如果是USART2 修改为huart2就ok了
第四步
如果你完成了上面的工作内容,接下来可以在主函数或者其他的源文件里面引用usart.h这个头文件
然后使用printf函数就可以打印串口信息了。
DeBug记录
如果上方的操作你有任何新问题可以留言,后续我如果发现有一些评论区的问题,我会重新在下面增加修改建议。
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐

所有评论(0)