这通讯要求主要是这样的:
描述:通讯是全双向的,在上传或下传中,接收方都要把收到的命令或数据字节(08位)立即返回给发送方,以供校对。
也就是是说:电脑向串口设备发送命令或8位字节时要立即返回给电脑,如果返回值与发送值一致时,才可进行下一字节的发送,以此类推。
我想用SPCOMM的控件,但不能实现这样通讯的全双向要求,这控件只有一ReceiveData的事件来接收数据,但不是立即返回的。
不知各位大虾有何有建设性的意见?谢谢!!!
描述:通讯是全双向的,在上传或下传中,接收方都要把收到的命令或数据字节(08位)立即返回给发送方,以供校对。
也就是是说:电脑向串口设备发送命令或8位字节时要立即返回给电脑,如果返回值与发送值一致时,才可进行下一字节的发送,以此类推。
我想用SPCOMM的控件,但不能实现这样通讯的全双向要求,这控件只有一ReceiveData的事件来接收数据,但不是立即返回的。
不知各位大虾有何有建设性的意见?谢谢!!!
SPCOMM是用线程来处理的,所以不是串行的,是并行的
曾经做过一个单片机的项目,因为硬件设计了看门狗,要求数据必须在规定的时间到达.我用的
就是SPCOMM.我仔细看过它的源文件,完全是用CreateFile写的应该是很底层的了!用MSCOMM
是一个COM组件,没有SPCOMM直接.
结论:按你的要求,软件解决不了!用这个方法试:
1>数据分别发给COM1和COM2由COM2做判断基准!接线:
COM1 COM2
2 3
3 2
5 52>将COM1的2,3脚并连两条线.一条2-3短路,一条正常.
mscomm:微软的东西,ActivX控件,使用简单,在VB中带的,性能一般,由于是ActivX控件,打包时需要注册好多信息,不推荐使用。
spcomm:比较好的vcl,算是比较专业的,解剖了一下,功能比较完善。
TurboPower:公认的专业通讯控件。可以到其站点下载,开放源码了。
我在制作串口通讯软件时三种都用过,最终全部使用TurboPower!所以也推荐大家使用它。
写了个例子,基本的串口通讯都可以实现,可提供参考。
下载地址:http://www.kaer.cn/default.aspx(网站安全性较差,经常当机,如果急用,mail我)
多多指正:[email protected]