串口协议发送数据格式详细分析

本文详细介绍了串行通信的原理,包括并串行、异步同步、单工、半双工和全双工的区别。重点讨论了TTL和RS-232电平的串行数据帧格式,并提供了波特率的计算方法。通过示波器波形图,分析了如何判断波特率是否正确以及如何排查RS-485通信中的数据同步问题。掌握这些方法能有效解决异步串行数据的接收和发送问题。

并串行;

异步同步;(时钟)

单工;(单线,任何时刻单方向)

半双工;(单线,同一时刻只能单方向)

全双工;(有接收和发送线)

串口(并串转换)

协议层:数据格式,传输速率。

物理层:接口类型,电平标准。

(难)波特率计算:波特率(1S传输位个数,一个则是1/9600=104us)

总结:物理层(差分两个线相加决定逻辑,P为高则是高逻辑;232电平和逻辑相反,TTL则相同)

如果单片机串行通讯出了问题,最有效的调试方法是用示波器观察收发数据的波形。通过观察波形可以确定以下情况:
1、是否有数据接收或发送;
2、数据是否正确;
3、波特率是否正确;

一、串行数据的格式
异步串行数据的一般格式是:起始位+数据位+停止位,其中起始位1 位,数据位可以是5、6、7、8位,停止位可以是1、1.5、2位。

起始位是一个值为0的位,所以对于正逻辑的TTL电平,起始位是一位时间的低电平;停止位是值为1的位,所以对于正逻辑的TTL电平,停止位是高电平。线路路空闲或者数据传输结束,对于正逻辑的TTL电平,线路总是1。对于负逻辑(如RS-232电平)则相反。

       例如,对于16进制数据55aaH,当采用8位数据位、1位停止位传输时,它在信号线上的波形如图1(TTL电平)和图2(RS-232电平)所示。 (先传第一个字节55,再传第二个字节aa,每个字节都是从低位向高位逐位传输)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值