跳到主要内容

串口

前言

串口使用一个称为串行通信协议的协议来管理数据传输。串行通信协议在数据传输期间控制数据流,包括起始位、数据位、波特率、校验位和停止位等。
下面每个名称做一个简单的解释。

波特率是指串口通信中每秒传输的二进制位数 起始位是1位时间、值为0的位。
数据位通常可能为1位、1.5位、2位时间。
校验位是1位时间,根据校验方式确定验证值,比如奇校验时,计算数据位中的值为1的个数,如果是奇数,则为1,否则应为0
停止位通常可能为1位、1.5位、2位时间。停止位是值为1的位。停止位代表着数据传输结束。

线路路空闲或者数据传输结束时,值总是1。
对于正逻辑的TTL电平,值为1是高电平,对于负逻辑(如RS-232电平)则相反。

单看文字很难理解具体含义,所以我们看图说话,下面这张串口示波器图清晰的表现出二进制的传输原理

如上图,可以看出2进制是 起始1、数据(右到左)01010101、停止0 ,那么解析出来的数据就是0x55

看到这里,相信大家都对串口知识有了一定的理解,这些基础知识对于c#工程师看似没有必要,但可以让你的实际调试开发工作更加得心应手