delphi用spcomm实现串口通信,数据能发送到超级终端或者串口调试工具,但是不能接受它们发过来的数据 10
我在接受触发事件里面设置过断点,但是根本不进TForm1.Comm1ReceiveData事件。广大同胞们,求助啊!好再加分!百度上我都找过了,没有可行的解决方法...
我在接受触发事件里面设置过断点,但是根本不进TForm1.Comm1ReceiveData事件。广大同胞们,求助啊!好再加分!百度上我都找过了,没有可行的解决方法
展开
展开全部
教你个办法
短接串口2 3脚 不用接设备
那样的话,你发送什么就接收了什么。
你先用调试助手发送
再用spcomm发送
如果调试助手能收到,但spcomm不能收到,那就是spcomm的设置问题,
看看停止位 校验位 数据位及 cts dtr的设置 也可以设置一下inbuffersize 为 1024
inputlen 也为1024
调试助手也不能收到,那是串口有问题。
短接串口2 3脚 不用接设备
那样的话,你发送什么就接收了什么。
你先用调试助手发送
再用spcomm发送
如果调试助手能收到,但spcomm不能收到,那就是spcomm的设置问题,
看看停止位 校验位 数据位及 cts dtr的设置 也可以设置一下inbuffersize 为 1024
inputlen 也为1024
调试助手也不能收到,那是串口有问题。
追问
使用串口调试助手能收到,但是用spcomm控件编写的上位机不能收到,Comm1ReceiveData事件根本没有触发,是SPcomm设置的原因吗,怎么设置啊,我是初学者,大侠能具体的讲解以下吗???
展开全部
1)上位机 和下位机的参数是否一致。
2)如果是D2010的版本的,请用AnsiChar
3)发送与接收有一定的延时。
还有就是Spcomm的版本,推荐使用cnpack中的Spcomm,
2)如果是D2010的版本的,请用AnsiChar
3)发送与接收有一定的延时。
还有就是Spcomm的版本,推荐使用cnpack中的Spcomm,
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
SPcomm并不是一收到就触发的,等他的缓冲区满了才会一次性触发回来的,建议使用MSCOMM
更多追问追答
追问
嗯,是的我在里面j加了延时sleep(100)了,但是Comm1ReceiveData还是不能触发,用串口调试助手能收到,但是用spcomm不能收到,这是什么原因啊
追答
你没明白我意思,SPCPMM不是收到数据就返回的,他是等他接收的缓冲区满了之后才一起返回的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询