如何用delphi从com口读取仪表发送来的数据。此数据是恒定不变的。(100分)

  • 主题发起人 主题发起人 xuideal
  • 开始时间 开始时间
>>此数据是恒定不变的
那你还读他干吗 ?
 
xiao.lit说的有道理!如果真要读com口的话可以用串口查一下问题, 有很多,用控件也行。
 
Spcomm很好用:
初始化:指定它的串口名称(你用到的串口):Spcomm.CommName :='com1',
初始化:波特率9600,随你要求定
初始化:设定奇偶校验。
打开串口:Spcomm.StartComm;

发送数据:Spcomm.WriteCommData(PChar(String类型的数据串),StrLen(PChar(String类型的数据串)));
发送数据必须将十六近制转换为char类型,再组成String,转换为Pchar指针类型,发送,因为他传递的是一个指向
一块存储字符的内存块指针和内存块的大小,即字符长度。

接收数据:SpcomReceiveData(Sender: TObject; Buffer: Pointer; BufferLength: Word);
同接收一样道理,传入指针,和缓冲区长度。

你可以看看他附带的帮助,其他的控制你可缺省
他还有流控制、屏蔽字符等,也许你用不到,你可慢慢研究。

Spcomm的接收事件的处发,具体是从串口一个一个地接收还是一次接收,我没有分析Spcomm的源代码
所以不敢说,但是你并不需要关心,只要在接受事件里接收数据就行了。
 
wwk 说的对,取来的数据用copy(ss,1,6); 截取你想要的部分!!!
 
ComDrv32 is good!
Updates to ComDrv32 package and other freeware packages can be downloaded from:

http://www.mdlive.com/d3k/delphi4


 
多人接受答案了。
 
我怎么给的分?
 
后退
顶部