STM32CubeMx开发之路—3发送USART数据和printf重定向
运行环境
- Windows10
- STM32CubeMX___Version 5.0.0
- Keil5(MDK5)___Version 5.15
简介
本例程主要讲解如何通过串口发送数据和重定向printf
STM32CubeMx基本配置
基础配置过程请参考 STM32CubeMx(Keil5)开发之路—1配置第一个项目
STM32CubeMx USART1配置
1——点击USART1进行设置
2——模式选择Asynchronous异步传输
3——可以看到右边自动出现了Tx和Rx
4——可以自行设置波特率,停止位,校验位等参数
代码修改
1——选择main.c文件
2——在USER CODE中添加如下代码,重定向printf
int fputc(int ch, FILE *f)
{
HAL_UART_Transmit(&huart1, (uint8_t *)&ch,1, 0xFFFF);
return ch;
}
在主循环中添加如下代码
int num=99;
char tx_buf[]={"HelloWorld!"};
printf("\nnum = %d\n",num);
HAL_Delay(1000);
HAL_UART_Transmit(&huart1, (unsigned char*)tx_buf,11,10);
HAL_Delay(1000);
烧录代码后打开出口调试助手,正确的话会看到如下输出
小结
串口常用场合
- 打印调试
- 进行串口通信
- 对某些芯片的读取
本节主要讲串口发送和printf的重定向,没有对串口接收进行讲解,后续可能会在DMA章节一起讲解,敬请期待。