Delphi+MSComm控件串口收发程序
发布时间:2020-12-15 09:53:24 所属栏目:大数据 来源:网络整理
导读://Delphi+MSComm控件串口收发程序 // [email?protected] procedure TForm1.FormCreate(Sender: TObject); begin if MSComm1.PortOpen then MSComm1.PortOpen := false;//关闭端口 MSComm1.CommPort := 2;//设置端口2 MSComm1.InBufferSize := 256;//设置接收
//Delphi+MSComm控件串口收发程序
// [email?protected] procedure TForm1.FormCreate(Sender: TObject); begin if MSComm1.PortOpen then MSComm1.PortOpen := false;//关闭端口 MSComm1.CommPort := 2;//设置端口2 MSComm1.InBufferSize := 256;//设置接收缓冲区为256个字节 MSComm1.OutBufferSize := 256;//设置发送缓冲区为256个字节 MSComm1.Settings := ‘9600,n,8,1‘;//9600波特率,无校验,8位数据位,1位停止位 MSComm1.InputLen := 0;//读取缓冲区全部内容(32个字节) MSComm1.InBufferCount := 0;// 清除接收缓冲区 MSComm1.OutBufferCount:=0;// 清除发送缓冲区 MSComm1.RThreshold := 32;//设置接收32个字节产生OnComm 事件 // MSComm1.InputMode := comInputModeText;//文本方式 MSComm1.InputMode := comInputModeBinary;//二进制方式 MSComm1.PortOpen := true;//打开端口 end; procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean); begin if MSComm1.PortOpen then MSComm1.PortOpen := false;;//关闭端口 end; procedure TForm1.MSComm1Comm(Sender: TObject); var buffer: Olevariant;//MSComm1.InputMode = comInputModeBinary str: string;//MSComm1.InputMode = comInputModeText i: integer; begin case MSComm1.CommEvent of comEvReceive: //串行接收事件处理 begin if MSComm1.InputMode = comInputModeText then //字符方式读取 str := MSComm1.Input//读出后会自动清除接收缓冲区,str[1]~str[32] else //二进制方式读取 buffer := MSComm1.Input;//读出后会自动清除接收缓冲区,buffer[0]~buffer[31] Edit3.Text := ‘‘; for i := 0 to MSComm1.RThreshold - 1 do //32字节Hex转换 begin if MSComm1.InputMode = comInputModeText then //单行字符转换 Edit3.Text := Edit3.Text + inttohex(byte(str[i + 1]),2) + ‘ ‘ else //单行二进制数据转换 Edit3.Text := Edit3.Text + inttohex(buffer[i],2) + ‘ ‘; end; Memo2.Lines.Add(Edit3.Text);//加入一行显示 end; end; end; procedure TForm1.BitBtn1Click(Sender: TObject); var i: integer; begin Edit4.Text := ‘‘; for i := 0 to 31 do begin MSComm1.Output := char(i);//发送一个字符 Edit4.Text := Edit4.Text + inttohex(i,2);//以十六进制字符显示 end; Memo1.Lines.Add(Edit4.Text);//加入一行显示 end;? 再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |