发新帖我要提问
12
返回列表
打印

单片机串口是如何区分低电平是开始位还是数据0位

[复制链接]
楼主: vftom3
手机看帖
扫描二维码
随时随地手机跟帖
21
vftom3|  楼主 | 2017-6-23 21:59 | 只看该作者 回帖奖励 |倒序浏览
也不知道是我表述不清楚还是怎么回事楼上的几位好心人都没有说到我想要知道的问题   。假如我编程的过程是  A机不停的采样数据   采样出后就发送 B机根据2需要的时候就 打开串口读数据。有没有可能读错。合理的程序应该是  b机在需要读串口数据时 打开串口 允许读 后再给a机一个信号   a机检测到这个信号后发送  数据 发完关闭 但是实际编程不用这样读 出的数据也是对的.为什么我担心的读错的可能没有出现呢
.,  

使用特权

评论回复
22
mango~orange| | 2017-6-23 22:59 | 只看该作者
感觉楼主在纠结的问题是如何在硬件上消除这个误码,这个问题串口通信确实存在,要不在程序上想办法去弥补,要不就换通信方式

使用特权

评论回复
23
ckc| | 2017-6-24 07:48 | 只看该作者
vftom3 发表于 2017-6-22 17:59
多谢回复您说的是个办法。但是实际应用中却没有这种担心的错误单片机是怎样做到的呢 ...

正常运行的时候不容易有错因为接收部分在不停工作。
只有在刚开机或者是线路中断等时候会出错。
串口一般初始化的时候要丢弃已经读到的一些垃圾数据就是这个原因。
你可以尝试不停的断开、接通通讯线路,看看接收到的数据除了丢失之外会不会有错误

使用特权

评论回复
24
vftom3|  楼主 | 2017-6-24 10:56 | 只看该作者
ckc 发表于 2017-6-24 07:48
正常运行的时候不容易有错因为接收部分在不停工作。
只有在刚开机或者是线路中断等时候会出错。
串口一般 ...

感谢您的回复  今天做了很多实验 和您说的一样的  不停的打开接收和关闭接收都可以正确度数  只有在断开通讯连接的时候会有错其他的情况都检测不到错误
自己理解的和您说的一样就是          正常运行的时候不容易有错因为接收部分在不停工作。
只有在刚开机或者是线路中断等时候会出错。再次感谢您   这个问题算是搞明白了不用取担心这个问题了

使用特权

评论回复
25
vftom3|  楼主 | 2017-6-24 11:02 | 只看该作者
xuplastic 发表于 2017-6-23 21:29
你以为单片机和人一样偷懒啊,接收端是源源不断地对接收口的数据进行采样(一般是3-4倍波特率的采样时钟 ...

感谢回复   我的理解是工业上外界的干扰太大导致 会读错  这个可以想的明白  单片机 工作在没有外部干扰的情况下 串口读错就是开机初始化的时候 和通讯线接触不良是会发生 其他 的情况看不到  我的问题您也说对了 就是因为  接收端是源源不断地对接收口的数据进行采样 并不是自己的程序控制的

使用特权

评论回复
26
vftom3|  楼主 | 2017-6-24 11:06 | 只看该作者
mango~orange 发表于 2017-6-23 22:59
感觉楼主在纠结的问题是如何在硬件上消除这个误码,这个问题串口通信确实存在,要不在程序上想办法去弥补, ...

感谢回复  您说 存在误码问题串口通信确实存在,我个人理解的是  存在的原因外部干扰或通讯接触不良  。不是单片机内部的原因

使用特权

评论回复
27
coody| | 2017-6-26 09:51 | 只看该作者
10楼回复已经够详细了。
实际通信是需要数据层的协议和校验的,你中途接入总线,则本帧数据会错误,必须丢弃,单下一帧开始就正常了。帧间要有超过发送1个字节对应的时间间隔。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则