在生活中,你是否有过电子产品之间是如何通讯的疑惑呢?
使用串口通讯,双方需要使用3条线
放大数据波形图
可以看出一帧数据一共有10位
起始位永远用低电平表示
停止位永远用高电平表示
中间的8位(一个字节)采用ASCll码表来传输数据
比如,现在要传输字母 A
在ASCll码表中,字母 A 对应的十进制为65
于是可以让第1位和第7位为高电平,其余位为低电平,这样就能表示 A
注:图中每一位所对应的1 2 4 8、、、是二进制的权(其中第一位可以看成2的0次方,第二位是2的1次方,依此类推)
一秒钟能发多少个数据位就叫波特率
就拿常用的9600举例
即每一位的电平时间为100us
如果波特率为115200,那每位电平的时间为8.7us,由此可知,但1S的时间内,115200波特率比9600快了几倍
通讯双方必须严格遵守波特率(也就是双方在时间上要同步,哪个时间发,哪个时间收)
如果双方的波特率不一致,将会导致数据传输失败,要格外注意
说简单点,就是双方约定一致的速率采用ASCll码表来实现传输数据