为什么 uart 两个数据帧之间必须有空闲位?

查看 52|回复 1
作者:allmightbe   
https://www.zhihu.com/question/532997683/answer/2487632817
类似于知乎这个问题,里面提到了“如果发送端连续发送数据,没有空闲期,两位高电平的停止位后立刻传输下一次的起始位。那么接收端怎么区分启动位,停止位,与数据位?”

恕我愚昧,这个图就是按照之间没有空闲位来画的图(上图 4 和 5 之间没有空闲位),我看了半天,觉得没有空闲位,接收端也能正确识别每一帧啊?为啥大家说不可以呢。
  • 之所以觉得可以,是因为上一帧的停止位和下一帧的启动位是不一样的电平。而且空闲位和停止位都是一样的 1 。这不就没有问题了吗。一旦电平变成 0 了,就代表下一帧开始了,不就可以了吗。
  • 考虑如果所有参数都已经固定下来了,比如停止位是多少。
  • 不考虑什么 时间越长,越会累计误差这种。

    空闲, 停止, 接收, 发送

  • mantouboji   
    不同的 uart 实现不一定能正确识别,取决于内部状态机的设计。没有必要在这种未定义行为上钻牛角尖。
    您需要登录后才可以回帖 登录 | 立即注册

    返回顶部