小弟今初次使用SPCOMM编写串口通讯,我在调用WriteCommData()方法后,而其ReceiveData()事件却不触发,那小弟怎么可以取到我刚才写的数据呢?
解决方案 »
- pas文件中,不用到的函数或方法会不会被编译?
- delphi 数据库里日期相减得到年龄的值怎么写
- 类似{1B1B89EE-F40C-4447-AB8C-51050D3AA84C}的随机编码,如何生成?
- 软件要求做成:恢复DBgrid中删除的数据
- 各位,如何在DELPHI6下编译出16位的纯DOS程序?急急急。。。。
- 局域网版的四国大战游戏
- 寻求BDE转化为DBEXPRESS的最佳方案
- 很复杂的问题
- 求助,由于要用其它语言重写DELPHI函数,请帮忙注释下以下代码
- 请问如何实现Foxmail那样的"邮件直接发送到对方的POP3邮箱"的功能?
- 究竟如何判断当前是否运行了Word?
- 求渔!!!关于DELPHI帮助的使用~~
建议加入一下代码:
try
comm1.StartComm ;
except
messagedlg('串口已经打开',mtwarning,[mbok],-1);
end;
begin
comm1.StartComm;
end;
应在窗体显示时打开端口
var
rbuf,sbuf: array[0..10000000] of byte;
procedure TfHandset.FormShow(Sender: TObject);
begin
comm1.StartComm;
end;procedure TfHandset.ActionLjcsExecute(Sender: TObject);
begin
sbuf[0]:=byte($C2); //帧头
sbuf[1]:=byte($1);
sbuf[2]:=byte($1);
sbuf[3]:=byte($2);
sbuf[4]:=byte($3);
sbuf[5]:=byte($4);
sbuf[6]:=byte($5);
sbuf[7]:=byte($6); //帧尾
senddata;//调用发送函数
end;
begin
sbuf[1]:=byte($f0); //帧头
sbuf[2]:=byte($01); //命令号
sbuf[3]:=byte($ff);
sbuf[4]:=byte($ff);
sbuf[5]:=byte($01);
sbuf[6]:=byte($f0); //帧尾
senddata;//调用发送函数
end
1。如果你的pc机上只有一个com接口,可以用一个金属线把他的2,3口短路,你发送数据后,就会触发ReceiveData()事件,接受发送的数据。
2。如你有两个com端口,可用一条串口线把两个端口的2,3线对调,都接上母头,插在两个com口上,你打开两个端口,一个发送数据,一个接收数据,可以测试发送的数据。