本文章从串口通信使用步骤的详细介绍开始,最后使用串口助手完成一个简单的对话(即系统根据接收到的数据进行判断进而发送数据)。
代码以及串口助手地址如下:(代码问题见本文末尾注事项)
百度链接:https://pan.baidu.com/s/1Xt5ttS7HpcwaP0_qxJn_IA?pwd=wxuh
提取码:wxuh
目录
实验现象:
当接收作者或者日期时,即会发送对应的内容,若是其他内容,则会发送:无效输入。
接收的数据要以@开头,回车结尾
串口配置:
- 打开时钟,USART跟GPIO
- GPIO初始化,将TX配置为复用输出,RX为输入
- 配置USART,调用结构体
- 发送功能:开启USART初始化
接收功能:配置中断
代码详解:
1、串口的配置函数
2、对发送数据函数进行封装处理
3、printf函数的重定向
4、对接受的数据进行处理
5、主函数
实物接线:
TX---------------PA10
RX---------------PA9
3V3与GND对应电源与地即可
☆本文注意事项:
注1:本文为本人在学习stm32串口收发数据时参考b站up:江协科技所更改
注2:使用上面链接提供的代码,会出现注释乱码的情况,可参考我的另一篇文章:
keil 5 常见的问题(3):注释乱码/注释都是?-CSDN博客
注3:本文代码有些内容将其分为了以下几篇文章:
keil软件中常见问题(4):printf打印函数重定向-CSDN博客
关于stm32使用串口传输助手打印汉字乱码的情况(5)-CSDN博客
注4:若本文出现错误,请大家多多指正,谢谢!!!!!!