要求:完成一个STM32的USART串口通讯程序(查询方式即可,暂不要求采用中断方式):
1)设置波特率为115200,1位停止位,无校验位;
2)STM32系统给上位机(win10)连续发送“hello windows!”。win10采用“串口助手”工具接收。
3)在没有示波器条件下,可以使用Keil的软件仿真逻辑分析仪功能观察管脚的时序波形,更方便动态跟踪调试和定位代码故障点。 请用此功能观察串口输出波形,并分析其波形反映的时序状态正确与否,高低电平转换周期(LED闪烁周期)实际为多少。
文章目录
一、串口协议
串口通信指串口按位(bit)发送和接收字节。尽管比特字节(byte)的串行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。串口通信协议是指规定了数据包的内容,内容包含了起始位、主体数据、校验位及停止位,双方需要约定一致的数据包格式才能正常收发数据的有关规范。在串口通信中,常用的协议包括RS-232、RS-422和RS-485。
1.通信方式
并联通信 | 串行通信 |
---|---|
数据各个位同时传输 | 数据按位顺序传输 |
速度快 | 占用引脚资源少 |
占用引脚资源多 | 速度相对较慢 |
按照数据的传输方向,串口通信分为:
单工:数据传输只支持数据在一个方向上传输;
半双工:允许数据在两个方向上传输。但是,在某一时刻,只允许数据在一个方向上传输,它实际上是一种切换方向的单工通信;它不需要独立的接收端和发送端,两者可以合并一起使用一个端口;
全双工:允许数据同时在两个方向上传输。因此,全双工通信是两个单工通信方式的结合,需要独立的接收端和发送端。
2.常见串口通信的接口
3.串口通信基础
STM32的串口通信接口有两种,分别是:UART(通用异步收发器)、USART(通用同步异步收发器)。
对于大容量STM32F10x系列芯片,分别有3个USART和2个UART。
4.UART引脚连接方法
RXD:数据输入引脚,数据接受;
TXD:数据发送引脚,数据发送。
5.RS-232通信协议
RS232接口是9针(或引脚),通常是TxD和RxD经过电平转换得到的。因此,要想使得芯片与PC机的RS232接口直接通信,需要也将芯片的输入输出端口也电平转换成rs232类型,再交叉连接。
经过电平转换后,芯片串口和rs232的电平标准是不一样的:
单片机的电平标准(TTL电平):+5V表示1,0V表示0;
Rs232的电平标准:+15/+13 V表示0,-15/-13表示1。
RS-232通讯协议标准串口的设备间通讯结构图如下:
在单片机串口与上位机给出的rs232口之间,通过电平转换电路,实现TTL电平与RS232电平之间的转换。
6.RS-232串口简介
RS232接口
通信过程中只有两个脚参与通信,电路连接时,连接三个脚即可。
2脚:电脑的输入RXD
3脚:电脑的输出TXD 通过2 ,3 脚就可以实现全双工(可同时收发)的串行异步通信
5脚:接地
7.USB转串口CH340接线
USB转串口电路板与单片机的接线图,VCC接线是为了单片机供电,USB转串口的RXD引脚与单片机的TXD引脚相连,USB转串口的TXD引脚与单片机的RXD引脚相连,两者的GND引脚直接相连。
二、STM32的USART串口通信(查询方式)
1.准备
最小核心板
USB转TTL
CH340驱动(USB串口驱动)_XP_WIN7共用
串口调试助手XCOM V2.3
2.USB转TTL与C8T6相连
USB转TTL | STM32F103C8T6 |
---|---|
3V3 | 3V3 |
RXD | PA9 |
TXD | PA10 |
3.CH340驱动安装
下载链接放到文末。
在电脑设备管理器处查看有无com端口出现,有即可证明成功。