串口通传数据问题?(50分)

  • 主题发起人 主题发起人 m_j_j_delphi
  • 开始时间 开始时间
M

m_j_j_delphi

Unregistered / Unconfirmed
GUEST, unregistred user!
用DELPHI做的通过串口收发数据界面,当数据很多时,会跳出很多“无效的数据类型”一个接一个,减少数据量时没有这种情况,请问怎么样可以解决啊?
 
是不是你把接收的数据进行转换了?
那是不是可以猜测,你取出的部分数据属于无效数据?
可能看代码才可以知道的。
 
是不是你的取数据部分有问题啊
 
碰过这种情况.设断点调试一下,或者检查一下接收代码.尽量不要用MEMO.TEXT=MEMO.TEXT+REVDATA等方式接收.
 
代码有问题,帖出代码出来就知道
 
在发送后和接收前加延时100ms
 
要看源码才能分析..
 
和缓冲区大小有关 数据量大时注意需代码清空缓冲区再发送或接收
 
lxw5214, 时间:2006-8-14 16:30:56, ID:3534727
在发送后和接收前加延时100ms
------------------------------
只要波特率相等握手正确就没必要延时 这个应该是你自己数据转换的问题
 
我不知道你的具体情况,所以现在很不好说,你的串口和谁通信呢?是和单片机还是什么?如果是单片机,数据量大的时候是有这种情况发生的,这是因为单片机的波特率总是和标准的波特率有误差的(无论采用体积方法减少,都会存在的)建议单片机在发完一个字节的数据后延时一段时间(插入几个NOP就可以了).一般都不会出现这种问题了.呵呵,以前我碰到这种情况都是这样解决的.
 
我也遇到过这种问题,是于单片机通信,在单片机中加延时可以有效的减少这种情况。不过,好象没有完全解决。
 
谁能详细的讲一下串口通信
 
后退
顶部