STM32HAL库学习技巧1:基于STM32CubeMX printf重定向
程序员文章站
2022-06-08 22:56:43
...
STM32CubeMX配置后printf重定向(渝兴未到科技)
最近我找了好多都相识的文档,虽然百度上面一找一大把,我这边还是来写一下用STM32CubeMX配置好项目后如何做printf 重定向串口设置,有什么不对的地方希望大家提出来指正!!!
首先还是软件
用这个软件配置的大家有使用过的应该都不陌生把!!
然后我们随便配置一个项目!! 生成
既然是串口打印 一定要配置个串口哦 !!我这儿用的USART1
就像这样 !! 时钟简单弄一下 就生成文件了!! 我这边使用的是keil5 用的stm32f103c8t6
然后就生成文件
打开工程
额!!这里要勾选上!!原理嘛 我在网上找了一堆!!大家可以自己去了解一下!
然后 我们接下来开始配置重定向的函数
我写的简单就写在main.c 里面 hal库里面 对串口发送函数进行了包装
int fputc(int ch, FILE *f)
{
HAL_UART_Transmit(&huart1, (unsigned char *)&ch, 1, 0xFFFF);
while(__HAL_UART_GET_FLAG(&huart1,UART_FLAG_TC)!=SET); //等待发送完成
//while ((USART1->SR & 0X40) == 0);
//USART1->DR = (uint8_t) ch;
return ch;
}
上面的&huart1 是根据自己定义的 使用的UART串口,(uint8_t *)ch 是数据值,1 是字节,0xFFFF 是超时时间。
printf函数使用自然也需要调用C语言的库
#include “stdio.h”
然后编译一下
然后使用就 C语言的printf 的使用。
然后我还是给个传送门大家可以参考一下
链接:https://pan.baidu.com/s/1HdWfzGwXAup2EZb8cWLl6A
提取码:uvq9
大家可以加入我们的交流群!!