quote:以下是引用winter938在2011-05-25 10:55:06的发言:
感觉楼主所说的空闲线条件是用于数据帧间隔的识别,不能用于字符间隔识别.但楼主说测试通过了不知你是发送单个字符还是数据帧.以下图片是网上抄的不知出处了.
我想西门子的是异步通讯,这个通讯能正常工作不关停止位的事的吧?
串口检测一帧数据是从开始位开始检测的,当检测到有效的开始位后,连续接收指定的数据位到串行寄存器,接收完成数据位后就表示一帧数据接收完毕了,停止位多少位都根本不必理会了。
也就是说连续100个停止位,如果没有起始位的话,串口都不会去接收数据到寄存器的。停止位的作用只是给总线一个空闲信号,然后让起始位拉低得到一个有效起始位信号。
而且串口通讯时保存在接收缓冲区的是接收到的数据位字节,丝毫不受停止位的影响,何来的多字节和单字节发送问题呢?