萌新的STM32学习23----数据通信的基本类型
数据通信的基本概念
数据通信方式可以分为串行通信,并行通信
串行通信: 数据逐位按顺序依次传输
并行: 数据各位通过多条线同时传输
串行通信: 传输效率低,抗干扰能力强,通信距离较长,IO资源占用较少,成本较低
并行通信: 传输效率较高,抗干扰能力较弱,通信距离较短,IO资源占用较多,成本较高
单工通信: 数据只能沿一个方向传输
半双工通信 : A到B只有1个信道 可以从A到B 也可以从B到A 但是两者应是在不同的时间发生的 不能在同一时间实现该功能
全双工通信: 数据可以同时进行双向传输
同步通信: 共用同一时钟信号
异步通信: 没有时钟信号,通过在数据信号中加入起始位和停止位等一些同步信号的标志位
比特率: 每秒钟传送的比特数,单位bit/s
波特率: 每秒钟传输的码元数,单位Baud
M代表了每个码元承载的信息量 我们也可以简单的化用为 进制数 就好比16进制那么M的值就是16
举个例子:波特率为 100 Baud,即每秒传输 100 个码元,如果码元采用十六进制编码(即M=2,代入上述式子),那么这时候的比特率就是 400 bit/s。如果码元采用二进制编码(即 M=2,代入上述式子),那么这时候的比特率就是 100 bit/s。可以看出采用二进制的时候,波特率和比特率数值上相等。但是这里要注意,它们的相等只是数值相等,其意义上不同,看波特率和波特率单位就知道。由于我们的所用的数字系统都是二进制的,所以有部分人久而久之就直接把波特率和比特率混淆了
常见的串行通信接口UART(通用异步收发器)
没有时钟线是异步的
串口的介绍
串行通信接口: 指按位发送和接收的接口
RS-232接口(DB9)
九根线
数据 :
TXD(pin3) : 串口数据输出
RXD(pin2) : 串口数据输入
握手 :
RTS(pin7) : 请求发送
CTS(pin8) : 清除发送
DSR(pin6) : 数据发送就绪
DCD(pin1) : 数据载波检测
DTR(pin4) : 数据终端就绪
地线:
GND(pin5) : 信号地
其他:
RI(pin9) : 振铃指示
异步的用的多会是 TXD RXD GND
同步 : 握手信号的那几个
在串口这章我们其实讲述的更多的是异步
RS-232电平
逻辑1 : -15~-3v
逻辑0 :+3~+15V
CMOS电平 (3.3V)
逻辑1 : 3.3v
逻辑0 : 0V
TTL电平 (5V)
逻辑1 : 5V
逻辑0 : 0V
结论 :CMOS/TTL电平不能与RS-232电平直接交换信息
特别注意两个设备之间的TXD和RXD,必须交差连接,方可正常通信
讲了也白讲
DB9 现在不常用了 我们更多的会用STM32与电脑的USB进行通信
我们USB接type-c插上之后会通过CH340C 转换成我们所能接受的
而我们这时候也会在电脑上安装一个CH340C转USB的辅助 帮助我们用软件读取转电平
启动位,必须占1个位长,保持逻辑0电平
有效数据位 可选5 6 7 8 9 个位长 LSB在前 MSB在后
奇偶校验位 : 是可选的,可选占1位长,也可以没有该位
停止位:必须有,可选占0.5 1 1.5 3 个位长,保持逻辑1电平