标题: 51单片机串口通信的小问题 [打印本页]

作者: 放眼天下    时间: 2019-1-28 10:13
标题: 51单片机串口通信的小问题
  就是在串口通信的时候,主机要发送数据,先发一个起始码,然后是一个8位的数据,以及终止码,但是还会有奇偶校验的问题,那么校验码是什么时候发送的呢,是在数据之后终止码之前还是由从机自己去校验呢,没弄明白。初学51,请多指教!

作者: 笨笨兔    时间: 2019-1-28 11:03
好好看看串行口工作模式3,书上讲的很清楚。
作者: yzwzfyz    时间: 2019-1-28 12:01
【先发一个起始码】:准确地说是起始脉冲。
【然后是一个8位的数据】:再加校验位(如果需要的话),数据占用9个脉冲的位置,每个位置有多宽,由波特率决定。
【以及终止码】:准确地说是1-N个1脉冲,N由格式定义。
你需要细细研读一下,串口通讯协议中的波形图,而后就清楚了,书上说的靠谱。
比如起始脉冲长什么样子,停止脉冲是不是只有1个高电平……
弄通这些很重要!!!

作者: GUELL    时间: 2019-1-28 14:08
串口通信是发送端以一个字节一个字节的从串口发送,接收端一个字节一个字节的接收,每个字节包含、一位起始码、8位的数据码、一位奇偶校验码、一位停止码,图中含有一个完整字节的波形图。

串口.jpg (15.92 KB, 下载次数: 27)

串口.jpg

作者: 放眼天下    时间: 2019-1-28 15:43
yzwzfyz 发表于 2019-1-28 12:01
【先发一个起始码】:准确地说是起始脉冲。
【然后是一个8位的数据】:再加校验位(如果需要的话),数据 ...

也就是说如果需要校验,那么校验码是跟着数据的最后一位一起输出,且在终止码之前吗?
作者: 放眼天下    时间: 2019-1-28 15:46
GUELL 发表于 2019-1-28 14:08
串口通信是发送端以一个字节一个字节的从串口发送,接收端一个字节一个字节的接收,每个字节包含、一位起始 ...

谢谢,这个图很好,但是这个图上没有显示校验码呢,检验码是在什么时候发送的




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1