怎样用delphi读取串口数据(100分)

  • 主题发起人 主题发起人 lmy1210
  • 开始时间 开始时间
L

lmy1210

Unregistered / Unconfirmed
GUEST, unregistred user!
我用delphi写一个读串口数据的程序,其中串口要求如下:
串口帧格式:7个数据位,1个奇校验位,2个停止位
波特率:9600
工作方式:0MODEM
正确的结果应该是每秒收到100多次的72H。可是我得到的结果却是每几秒钟收
到一个错误的十六进制数据。请高手们帮我看看我的程序是否写错了,在下
感激不尽,谢谢!

我用了一个串口的COM控件,并用如下程序:
procedure TForm1.Comm1ReceiveData(Sender: TObject; Buffer: Pointer; BufferLength: Word);
var
com1receive:integer;
begin
move(buffer,com1receive,17);
end;
 
我毕业设计的题目。。
lmy1210兄,能不能发我一份,做个参考?sheepishest@163.net
谢谢
 
//应该是这样吧。
var RecBuf:array [0..255] of char;

procedure TForm1.Comm1ReceiveData(Sender: TObject; Buffer: Pointer; BufferLength: Word);
begin
move(buffer,RecBuf,BufferLength);
end;
 
//应该是这样吧。
var RecBuf:array [0..255] of char;

procedure TForm1.Comm1ReceiveData(Sender: TObject; Buffer: Pointer; BufferLength: Word);
begin
fillchar(RecBuf,256,#0);
move(buffer,RecBuf,BufferLength);
end;
 
沈前卫,您好:
谢谢你的热心指点。
我把您提供的程序段加入我的源程序后,为了测试收到的数据是否正确,我在后面加了一行:edit1.text:=edit1.text+Recbuf。可是程序执行后没有任何结果,不知是否我加的这行不对?谢谢您替我思考一下。
 
接受答案了.
 
还有哪位老兄能指点迷津,在下不甚感激。
 
后退
顶部