此帖出自嵌入式系统论坛
最新回复
感谢各位的回复
这个问题我自己分析了一下,猜想如下:
如果将串口数据帧的起始位看作0,1位停止位看作1;那刚好“1”和“L”(即31和4C)是同一数据流中不同的分割方式,而且都可以得到正确的数据帧;
按此猜想,通过将奇偶校验位强制为0和1时,对比发1而收到的错误码,同样符合以上猜想。(此时对比时要注意加入奇偶校验位)因此我认为出现这个问题的主要原因是由于串口接收端没有正确的找到数据帧起始位造成,而是误将数据位的0当作了起始位,刚好这种组合同样能组成一个完整的数据帧;
如果的确是我的猜想的原因,那应该此问题属于串口传输机制上本身可能出现的问题;当然如果数据间间隔较长,起始位容易判断,接收数据很快就可以恢复成正常值。
先结贴给分了,感谢各位的回复,如果有对我的猜想不认同并给出其他合理解释,我可以另开贴给分,非常感谢。(哎 我主要是做软件的,对串口通讯,及硬件部分处理的东西不是很熟悉。。。。有什么错误请指教)
详情
回复
发表于 2007-9-7 09:52
| ||
|
||
| |
|
|
此帖出自嵌入式系统论坛
| ||
|
||
此帖出自嵌入式系统论坛
| ||
|
||
| |
|
|
此帖出自嵌入式系统论坛
| ||
|
||
EEWorld Datasheet 技术支持