关于mscomm控件!!!!!!!高手请!(50分)

  • 主题发起人 主题发起人 ll710815
  • 开始时间 开始时间
L

ll710815

Unregistered / Unconfirmed
GUEST, unregistred user!
我需要通过串口把数据一次性地传到计算机,数据量大,通常为4000字节左右,我采用二进制
方式,但不知为何,收到的数据总少50来个左右,这是为何?如何解决?
另外,我的单片机传的是十进制,在上位机自动将它转为16进制,如何防止转换?
 
Mscomm一次性传输数据,如果太大很容易造成丢失,建议分批发送!
单片机开发和硬件有关,上位机自动转换很可能是内部指令处理的结果,如果你想保持原格式,可能只有
自己再次转换了!
 
没错,发送得太大了
mscomm内部使用windows消息来抛出时间,如果数据太大的话是会丢失的
1K以下问题不大,而且收到数据后的处理过程不能耗时太长
 
不要采取流方式,采取触发方式,缓冲达到某个指定值就触发发送
 
同意楼上,将接收字符长度设一下。
 
MSCOMM没有实际用过,不过,设置了缓冲应该不会产生这个问题吧!
将缓冲设大一点看看。
如果实在要用组件,SPCOMM更好!
我觉得如果是要通过位移,或者取某位的计算的话,16进制比10进制更直观。
如果觉得16进制不好,想要10进制的话,将得到的数据再转一次吧。
 
give me e_mail
 
接受答案了.
 
变相回收分数
可耻
 

Similar threads

回复
0
查看
848
不得闲
回复
0
查看
978
不得闲
S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
900
SUNSTONE的Delphi笔记
S
D
回复
0
查看
911
DelphiTeacher的专栏
D
后退
顶部