MSComm 控件使用详解
MSComm 控件的常用属性
1.MSComm1.Settings:=’9600,n,8,1’; //设置波特率 ,校验位,数据位,停止位
Settings 属性: 设置串口的波特率 ,校验位,数据位,停止位, ’9600,n,8,1’表示波特率为 9600,无
奇偶校验,数据位为 8 为,1 位停止位
MSComm1.InBufferSize:=1024; // 接受缓冲区大小
InBufferSize 属性:接收缓冲区的大小,默认值为 1024,也可以自己设定,比如,
MSComm1.InBufferSize:=2000,则接收缓冲区的大小为 2000 字节
MSComm1.OutBufferSize:=1024; // 发送缓冲区大小
OutBufferSize 属性:发送缓冲区的大小,默认值为 1024,也可以自己设定,比如,
MSComm1.OutBufferSize:=2000,则发送缓冲区的大小为 2000 字节
MSComm1.InBufferCount:=0; //清空接受缓冲区
InBufferCount 属性:当前接收缓冲区接收到的数据的长度,count:=MSComm1.InBufferCount,
则 count 值就是接收缓冲区接收到的数据的长度,对 InBufferCount 赋值
MSComm1.InBufferCount:=0,可以清空接受缓冲区
MSComm1.OutBufferCount:=0; //清空发送缓冲区
OutBufferCount 属性:当前发送缓冲区中数据的长度,对 OutBufferCount 赋值 MSComm1.
OutBufferCount:=0,可以清空发送缓冲区
MSComm1.InputMode:=comInputModeText;//以文本方式取回数据
MSComm1.InputMode:=comInputModeBinary; //设置接收数据模式为二进制形式
InputMode 属性:串口接收数据的模式, comInputModeText(0)表示以文本(ASCII)方式取回数据,
comInputModeBinary(1)表示以二进制方式取回数据
comInputModeText, comInputModeBinary 为预定义常量,分别表示 0,1
RcvByte:=MSComm1.Input
Input 属性:通过 Input 属性可以读取串口中接收到的数据,RcvByte:=MSComm1.Input 表示读取串
口接收到的数据 ,其中 RcvByte 的数据类型为:array of Byte 或 array of Variant.在读取之前
先设置 RcvByte 的长度:SetLength(RcvByte,len),如果一次读取所有数据,则
SetLength(RcvByte, MSComm1.InBufferCount)
MSComm1.Output:=OutputDat
Output 属性:通过 Output 属性可以发送数据,MSComm1.Output:=OutputDat,则将 OutputDat 中
的数据发送出去,其中 OutputDat 数据类型为 array of Byte,发送前要设置
OutputDat 的长度, SetLength(OutputDat,len),然后向 OutputDat 中填入数据,
再清空发送缓冲区 MSComm1.OutBufferCount:=0,然后再发送
MSComm1.Output:=OutputDat
MSComm1.InputLen:=0;////////////// 一次读取所有数据 /////////
InputLen 属性:一次从 Input 属性中读取数据的长度, MSComm1.InputLen:=1,表示一次读取一个
字节,如果 MSComm1.InputLen:=0,则表示一次读取全部数据
MSComm1.SThreshold:=0;//一次发送所有数据 ,发送数据时不产生 OnComm 事件