delphi用spcomm实现串口通信,数据能发送到超级终端或者串口调试工具,但是不能接受它们发过来的数据 10

我在接受触发事件里面设置过断点,但是根本不进TForm1.Comm1ReceiveData事件。广大同胞们,求助啊!好再加分!百度上我都找过了,没有可行的解决方法... 我在接受触发事件里面设置过断点,但是根本不进TForm1.Comm1ReceiveData事件。广大同胞们,求助啊!好再加分!百度上我都找过了,没有可行的解决方法 展开
 我来答
sirouszlh
2013-04-05 · TA获得超过1651个赞
知道小有建树答主
回答量:1038
采纳率:100%
帮助的人:648万
展开全部
教你个办法
短接串口2 3脚 不用接设备
那样的话,你发送什么就接收了什么。
你先用调试助手发送
再用spcomm发送
如果调试助手能收到,但spcomm不能收到,那就是spcomm的设置问题,
看看停止位 校验位 数据位及 cts dtr的设置 也可以设置一下inbuffersize 为 1024
inputlen 也为1024

调试助手也不能收到,那是串口有问题。
追问
使用串口调试助手能收到,但是用spcomm控件编写的上位机不能收到,Comm1ReceiveData事件根本没有触发,是SPcomm设置的原因吗,怎么设置啊,我是初学者,大侠能具体的讲解以下吗???
ch2001023
2013-04-07 · 超过44用户采纳过TA的回答
知道小有建树答主
回答量:120
采纳率:66%
帮助的人:83.6万
展开全部
1)上位机 和下位机的参数是否一致。
2)如果是D2010的版本的,请用AnsiChar
3)发送与接收有一定的延时。
还有就是Spcomm的版本,推荐使用cnpack中的Spcomm,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
龙胖胖纸
2013-04-06 · 超过50用户采纳过TA的回答
知道小有建树答主
回答量:244
采纳率:0%
帮助的人:55.5万
展开全部
SPcomm并不是一收到就触发的,等他的缓冲区满了才会一次性触发回来的,建议使用MSCOMM
更多追问追答
追问
嗯,是的我在里面j加了延时sleep(100)了,但是Comm1ReceiveData还是不能触发,用串口调试助手能收到,但是用spcomm不能收到,这是什么原因啊
追答
你没明白我意思,SPCPMM不是收到数据就返回的,他是等他接收的缓冲区满了之后才一起返回的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式