串口编程的问题,我要被搞疯了!(100分)

  • 主题发起人 主题发起人 zkking
  • 开始时间 开始时间
Z

zkking

Unregistered / Unconfirmed
GUEST, unregistred user!
使用SPCOM和单片机通信,每次发送一个字节,但是单片机只能受到600左右的字节,高与600就不是
每次都能成功了,看了SPCOM的源码,好象缓冲区是4096啊,怎么回事了?有人说可能要清缓冲区
,但是,我不知道怎么清,好象SPCOM没有封装啊!
不想用MSCOM,正在考虑用API编程,好想很麻烦啊,有没有什么好的控件或者方法啊!
 
我用的是mscomm(vb)
 
不行,不想用MSCOMM啊
 
为什么?
 
波特率等数据属性设置如何?
 
57600,N,1,单片机晶振是11.****的那个,小数据可以,为什么数据大了就不行了?
 
我想知道SPCOMM到底能不能多次的发送大量文件啊,还有,如何清缓冲区啊!
 
你试过字节之间放些延时吗
 
每个都是SLEEP(2),试过SLEEP(10),效果不是很明显!
 
老兄,我是用MSComm的,建议你不要对它太反感,挻稳定的! 记住: 不SPComm还是MSComm,
只要是好用的,就是好控件!
 
估计不是PC这边的问题,你可以试着再放大延时
 
多人接受答案了。
 
其实不是延时问题。是控件本身存在问题。
小数据或者不是频繁发送数据,spcomm是不错的,而且对于它的接受机制,确实是比较“完美了”,
但是对于发送体系,真的不敢恭维。况且目前也没有什么真正好用的控件适合delphi的(比较完善的),
mscomm的兼容性真的需要改改的。spcomm中的动辄gotoendwirtethread,是及其窝火的。发送没有发送,只是postmessage了
其余的不管,实际上,还是没有发送出去,使得以后的发送出现了串口(发送)死现象。
 
后退
顶部