一.通信接口
1.为什么要通信:将一个设备的数据传送到另一个设备,扩展硬件系统
2.通信协议:制定通信的规则,通信双方按照协议规则进行数据收发
3.全双工:通信双方能够同时进行双向通信,一般有2跟通信线
半双工:一根数据线
4.串口是一种应用十分广泛的通讯接口,串口成本低、容易使用、通信线路简单,可实现两个设备的互相通信
二.硬件电路
1.两根通信线,TX和RX要交叉连接
2.单向传输时可以只接一根线
3.电平标准不一致时,需要加电平转换芯片
三.电平标准
电平标准时数据1与数据0的表达方式,是传输线缆中认为规定电压与数据的对应关系,串口常用的电平标准有如下三种:
1.TTL:3.3V或者5V表示1,0V表示0
2.RS232:-3到-15V表示1,3到15V表示0
3.RS485:两线压差2到6V表示1,-2到-6V表示0
四.串口参数及时序
1.波特率:串口通信的速率
2.起始位:标志一个数据帧的开始,固定为低电平
3.数据位:数据帧的有效载荷,1为高电平,0为低电平,低位先行(由小到大)
4.校验位:用于数据验证,根据数据位计算得来
5.停止位:用于数据帧间隔,固定为高电平
串口中,每一个字节都装载在一个数据帧中,每个数据帧由起始位,数据位,停止位组成
最后一位为校验位,自动补数使1位奇数或偶数,传输后看是否为奇数或者偶数,来校验
五.USART通用同步/异步收发器(一般为异步通信)
1.USART使STM32集成的硬件外设,可根据数据寄存器的一个字节数据自动生成数据帧时序,从TX引脚发出去,也可以自动接收RX引脚的帧时序,拼接为一个字节数据,存放在数据寄存器里
2.自带波特率发生器,最高达4.5Mbits/s
3.可配置数据位长度8,9,停止位长度0.5,1,1.5,2
4.可选校验位 3种无,奇,偶
6.支持同步模式,硬件流控制,DMA,智能卡,IrDA,LIN
六.USART框图
1.左上部分为引脚,下面三个都不常用
2.TDR若有数据,查看发送移位寄存器是否正在移位,若没有,便将数据发送到发送移位寄存器进行移位,低位先行
3.发送器控制,接收器控制,硬件数据流控避免输出太快
4.sclk只支持输出,不支持输入,可以用来兼容别的协议,如spi
七.USART基本结构
八.数据模式
1.HEX/十六进制/二级制模式:以原始的数据形式显示
2.文本模式/字符模式:以原始的数据编码后的形式显示
九.数据输入
十.hex数据包(一次传输多个数据)
1.两种数据包方式
固定包长,含包头包尾(可以数据对齐)
可变包长,含包头包尾