串口通讯之Cport,简单有关问题
串口通讯之Cport,简单问题
刚安装cport听说很好用,上手就碰到个小问题。
procedure TForm1.ComPortRxChar(Sender: TObject; Count: Integer);
var
Str: String;
begin
ComPort.ReadStr(str, count);
memo.Lines.Add(str);
end;
memo显示的事1个字节一个事件,我总共收上10个字节,显示10列。
我想实现类似Comm控件,上来的数据是整体的。
procedure TPublicForm.Comm1ReceiveData(Sender: TObject; Buffer: Pointer;
BufferLength: Word);
begin
memo.lines.add(Pchar(buffer));
end;
请问这个组件有没有其他的好方法,另外想找cport的一些帮助(中文的)
------解决方案--------------------
邮件已发送。
43967427
------解决方案--------------------
可以在事件里多检测、读一次
刚安装cport听说很好用,上手就碰到个小问题。
procedure TForm1.ComPortRxChar(Sender: TObject; Count: Integer);
var
Str: String;
begin
ComPort.ReadStr(str, count);
memo.Lines.Add(str);
end;
memo显示的事1个字节一个事件,我总共收上10个字节,显示10列。
我想实现类似Comm控件,上来的数据是整体的。
procedure TPublicForm.Comm1ReceiveData(Sender: TObject; Buffer: Pointer;
BufferLength: Word);
begin
memo.lines.add(Pchar(buffer));
end;
请问这个组件有没有其他的好方法,另外想找cport的一些帮助(中文的)
------解决方案--------------------
邮件已发送。
43967427
------解决方案--------------------
可以在事件里多检测、读一次
- Delphi(Pascal) code
procedure TForm1.ComPortRxChar(Sender: TObject; Count: Integer); var Str: String; newcount:integer; begin str:=''; sleep(100); newcount:=comport.当前字节数; ComPort.ReadStr(str, newcount); comdata:=comdata+str; memo.Lines.Add(Comdata); end;
------解决方案--------------------
下位机可能传输延时
------解决方案--------------------
因为串口比较慢,字节之间有一点点延时