串行通信
串行通信有关概念#
- 串口,通常指的是串行通信接口。
- 串行通信(Serial Communication)
- 串行通信接口
- 通用异步收发器(Universal Asynchronous Receiver/Transmitter: UART),是一种硬件接口,通常称串口
- 通用同步/异步收发器(Universal Synchronous Asynchronous Receiver/Transmitter: USART)
- 串行通信接口电气标准
- TTL、RS-232、RS-485
- USB(Universal Serial Bus):通用串行总线,USB不是串行通信接口
USB(Universal Serial Bus):是连接电脑与设备的一种序列总线标准,也是一种输入输出I/O 连接端口的技术规范。多媒体电脑刚问世时,外接式设备的传输接口各不相同,如打印机只能接并行端口、调制解调器只能接RS-232、鼠标键盘只能接PS/2等。繁杂的接口系统,加上必须安装驱动程序并重启才能使用的限制,都会造成用户的困扰。因此,创造出一个统一且支持易插拔的外接式传输接口,便成为无可避免的趋势,USB应运而生。----维基百科
RS232 DB9接口采用串行通信,总共9个引脚,在目前的其它工业控制使用的串口通讯中,一般只使用RXD、TXD以及GND三条信号线,直接传输数据信号。
异步串行通信的数据帧格式(data frame)#
- LSB (Least Significant Bit):最低有效位
- MSB (Most Significant Bit):最高有效位
- Start bit:开始位,为低电平(逻辑0)
- Parity bit:校验位,通常有Odd(奇校验)、Even(偶校验)、Space(0校验)、Mark(1校验)、None(无校验)
- Odd(奇校验):有效数据和校验位中"1"的个数为奇数个,例如有效数据8位01101001,该8位数据中共有4个"1"。要达到奇校验的效果,校验位就应该为1,因此数据位+校验位就是9位:011010011
- Even(偶校验):有效数据和校验位中"1"的个数为偶数个
- Space(0校验):校验位总是0
- Mark(1校验):校验位总是1
- Idle:空闲位,为高电平(逻辑1)
举个例子,串行通信采用9600Baud、8位数据位、1位停止位、无校验位。发送"OK",其数据帧如下图所示,b0是最低位,b7是最高位。其中0100111就是'O'的二进制数,'K'的二进制数01001011,可以看到帧的数据位先发送的'O',接着是'K',并且数据位是从低位到高位。
参考链接:
https://learn.sparkfun.com/tutorials/serial-communication/all
https://doc.embedfire.com/mcu/stm32/f407batianhu/std/zh/latest/book/USART.html
作者:qianxiaohan
出处:https://www.cnblogs.com/qianxiaohan/p/18264171
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具