先不管你的数据是如何组织的,你用这一句代码的意义是什么呢?if not Comm1.SendDataEmpty then //如果没有发送完成当前数据,你就接着发数据?我一般操作串口也用SPCOMM,但我对发送的数据与接收的数据都用一个数组来完成;
且先定义成一种数据类型;
type TDataBuff=array [0..255] of char;
将对应的发送数据写入到数组内,然后发送;
var
sendbuff:tdatabuff;
sendlen:integer;
//....组织数据
comm1.startcomm;
sleep(10);
comm1.writecommdata(sendbuff,sendlen);
//...在这儿为止,就发送完成了.把上面的功能写成一个功能函数,就可以实现发送数据到串口了;function SendDataToCOMM(sendbuff:tdatabuff;sendlen:integer):boolean;
解决方案 »
- delphi能不能实现将功能菜单放进数据库?
- 这么当主表增加记录时,从表加几条几条默认记录???
- 关于图象校正的问题
- Delphi 如何实现类似于 C++ STL 的容器的算法?
- 有关flashget 的com接口编程
- 超级简单问题??????????????????????急!!!!!!!!!!!
- 如何在一个FORM的FormActivate事件中满足某个条件时将自己关闭?
- 一个关于存储过程的问题!!
- 请问各位 那里有 delphi的电子书籍下载??/
- 关于FastReport的问题
- 繁体下简体转繁体
- 哪位兄弟遇到过,调用.net的dll退出后报"内存不能为read"和"unknown software exception"错误
数据进行第一次循环时能把数据顺利写进单片机内,但是进行第二次循环时,就不能写进了,该如何解决呢?
try
s:='';
sleep(100);
for i:=1 to 73 do s:=s+chr(CStr[i]);
if Comm1.WriteCommData(Pchar(s),Length(s)) then SLEEP(100) else showmessage('fdf');
if Comm1.WriteCommData(Pchar(s),Length(s)) then SLEEP(100) else showmessage('fdf');
except
exit;
end;
sleep();
//同一条语句为什么要执行两次?