spcomm控件为什么不能发送和接收十六进制数11?

cjs5210 2003-06-14 02:57:18
spcomm控件为什么不能发送和接收十六进制数11?
...全文
147 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
jpyc 2003-06-23
  • 打赏
  • 举报
回复
mscomm:微软的东西,ActivX控件,使用简单,在VB中带的,性能一般,由于是ActivX控件,打包时需要注册好多信息,不推荐使用。
spcomm:比较好的vcl,算是比较专业的,解剖了一下,功能比较完善。
TurboPower:公认的专业通讯控件。可以到其站点下载,开放源码了。
我在制作串口通讯软件时三种都用过,最终全部使用TurboPower!所以也推荐大家使用它。
写了个例子,基本的串口通讯都可以实现,可提供参考。
下载地址:http://www.kaer.cn/default.aspx(网站安全性较差,经常当机,如果急用,mail我)
多多指正:sdwhxyr@yeah.net
cjs5210 2003-06-16
  • 打赏
  • 举报
回复
楼上的兄台,我看了该控件的源代码,只要一遇到$11,$13,程序就会跳出去。11与13可以发出去,但是就是收不到,我只有把$11,$13,不知道有没有什么隐蔽的BUG??
Xleep 2003-06-16
  • 打赏
  • 举报
回复
Tx,rx就是RS-232的两根Pin啊,我对spComm不是很熟。搞过单片机和电脑通信,不过用的是Api。还有我QQ 20281827。
cjs5210 2003-06-16
  • 打赏
  • 举报
回复
非常感谢楼上的兄台,可以了。再请问一下,TX、TR的开关标志是什么意思?你对spcomm很熟悉吧,可以交个朋友吗?我的QQ 4863776
ljt990111 2003-06-16
  • 打赏
  • 举报
回复
to 老哥:
推荐用PORTCOM控件,或用API
Xleep 2003-06-16
  • 打赏
  • 举报
回复
哦,我重新看了源代码,源来,$11 是XonChar,$13是FXoffChar,它们是TX、Rx的开关标志。你用下下面的代码试一下。
Comm1.stop;
Comm1.Outx_XonXoffFlow := False;
Comm1.Inx_XonXoffFlow := False;
Comm1.StartComm;
试一下行不行。这个我以前没遇到过。
Xleep 2003-06-15
  • 打赏
  • 举报
回复
能啊,用这个
var
vbyte: Byte;

vByte := $11;
TComm.writeCommData(@vByte,1);
这样就发出去了;
如果你接受数据的话会触发一个事件,该事件的参数有buffer和bufferlength,如果你发送的数据太快的话,BufferLength会大于1,但是BufferLength一般小于2048,如果发的太快了的话,Windows会响应不了。如果你只发一个数据$11过来,接收到BufferLength为1,
则pByte(buffer)^为$11.
李_军 2003-06-14
  • 打赏
  • 举报
回复
他都是作为字符串来发的

1,184

社区成员

发帖
与我相关
我的任务
社区描述
Delphi Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧