串口基本认知
串行接口简称串口,也称串行通信接口或串行通讯接口(通常指COM接口),是采用串行通信方
式的扩展接口。串行接口(Serial Interface)是指数据一位一位地顺序传送。其特点是通信线路简
单,只要一对传输线就可以实现双向通信(可以直接利用电话线作为传输线),从而大大降低了成
本,特别适用于远距离通信,但传送速度较慢
拆分
是设备间接线通信的一种方式
数据一位一位地顺序传送
双向通信,全双工
传送速度相对较慢
关于电器标准和协议
串行接口电器标准及协议来分包括RS-232-C、RS-422、RS485等。RS-232-C、RS-422与RS-485标准只对接口的电器特性做出规定,不涉及接插件、电缆或协议
RS-232
也称标准串口,最常用的一种串行通讯接口,比如我们的电脑主机的9针串口,最高速率为20kb/s,RS-232是为点对点(即只用一对收、发设备)通讯而设计的,其传送距离最大为约15米。使用RS-232适合本地设备之间的通信。
RS-422
由于接收器采用高输入阻抗和发送驱动器驱动器比R232更强驱动能力,故允许在相同传输线上连接多个接收点,最多可接收10个节点。即一个主设备,其余为从设备,从设备之间不能通信,所以RS-422支持点对多的双向通信。
RS-422的最大传输距离为1219米,最大传输速率为10MB/s。平衡双绞线的长度与传输速率成反比。
RS-485是从RS-422基础上发展而来的,无论四线还是二线连接方式总线上可接到32个设备
关于串口的电平
经常听说的UART
异步串行是指UART,通用异步接收/发送。UART包含TTL电平的串口和RS232电平的串口
RS232电平
逻辑1为3~15V的电压,逻辑0为3~15V电压
笔记本通过RS232电平和单片机通信
TTL电平
串口编程
输入/输出数据缓冲器都叫做SBUF,都用99H地址码,但是是两个独立的8位寄存器
代码体现为:想要接收数据 char data = SBUF 想要发送数据 SBUF = data
回忆UART是异步串行接口,通信双方使用时钟不同,因为双方硬件配置不同,但是需要约定通信速度,叫做波特率
对于电脑来说,别人做好了软件,鼠标点点就能配置好,而苦逼单片机的波特率配置需要我们写代码
点点配置什么,我们代码也要配置对应的参数