MSComm控件进行串口编程步骤:1.在建立的程序工程中插入MSComm控件。2.添加MSComm控件ID的控制变量(或者对象)。3.对串口进行初始化,设置MSComm控件的属性。4.添加串口事件的消息处理函数OnComm()函数,在函数中根据应用需要,编写数据处理代码5.编写串口发送等其他代码。6.关闭串口。+MSComm控件常用属性:1.CommPort:设置并返回通信端口号2.Settings:以字符串的形式设置并返回波特率、奇偶校验、数据位、停止位3.PortOpen:设置并返回通信端口的状态。也可以打开和关闭端口4.Input:从接收缓冲区返回和删除字符5.Output:向传输缓冲区写一个字符6.InputLen:设置并返回Input属性从接收缓冲区读取的字符数。7.InBufferSize:设置或返回输入缓冲区的大小。8.OutBufferSize:设置或返回输入缓冲区的大小。9.InBufferCount:设置或返回输入缓冲区内等待读取的字节个数。10.OutBufferCount:设置或返回输入缓冲区内等待读取的字节个数。对MSComm控件通过Get/Set函数对来获取或设置控件的属性,每个属性均有与之对应的Get/Set函数对。用法说明1.CommPort:设置并返回通信端口号VoidCMSComm::SetCommPort(shortn);设置串口号ShortCMSComm::GetCommPort();查询当前串口号说明:n可以设置成1到16中的任何数(缺省值为1)。但是,如果用PortOpen属性打开一个并不存在的端口是,MSComm控件会产生错误68(设备无效);必须在打开端口之前设置CommPort属性。2.Settings:以字符串的形式设置并返回波特率、奇偶校验、数据位、停止位VoidCMSComm::SetSettings(LPCTSTRlpszNewValue);CStringCMSComm::GetSettings();说明:当端口打开时,如果设置值lpszNewValue非法,则MSComm控件产生错误380(非法属性值)。Value由四个设置值组成,有如下格式:“BBBB,P,D,S”BBBB:波特率P:奇偶校验,D:数据位数,S:停止位数Value的缺省值:“9600,N,8,1”。3.PortOpen:用于打开或关闭串口,或者返回串口的开、关状态VoidCMSComm::SetPortOpen(BOOLbNewValue);BOOLCMSComm::GetPortOpen();说明:bNewValue值设置为TRUE,则打开串口;bNewValue值设置为FALSE,则关闭串口。编程时可以再程序中打开或关闭串口,当程序终止,MSComm控件自动关闭串口。4.InPut:从接收缓冲区内读出数据VARIANTCMSComm::GetInPut();说明:返回数据类型为VARIANT型变量,该属性在串口没有打开时不能用,在运行时是只读的。InPutMode=0时(检取数据为文本方式),变量中含String型数据。InPutMode=1时(检取数据位二进制方式),变量中含Byte型数据。5.OutPut:向发送缓冲区写数据,或返回发送缓冲区当前的数据VoidCMSComm::SetOutPut(constVARIANT&newValue);VARIANTCMSComm::GetOutPort();说明:变量类型为VARIANT,该属性在串口未打开时不可用。OutPut可以发送文本或二进制数据,当发送文本类型数据时,将字符型数据放入VARIANT型变量中;发送二进制数据时(按字节发送),将字节型数据放入VARIANT型变量中。若数据中包含了内嵌控制字符。空字符等,必须将其作为二进制数据发送。6.InputLen:设置并返回Input属性从接收缓冲区读取的字符数。VoidCMSComm::SetInputLen(shortnNewValue);ShortCMSComm::GetInputLen();说明:InputLen属性的缺省值是0.设置InputLen为0时,使用Input将使MSComm控件读取接收缓冲区中全部的内容。若接受缓冲区中InputLen字符无效,Input属性返回一个零长度字符串(“”)。在使用Input前,用户可以选择检查InBufferCount来确定缓冲区中是否已有需要数目的字符。该属性在从输出格式为定长数据的机器读取数据时非常有用。7.InBufferSize:设置或返回输入缓冲区的大小。VoidCMSComm::SetInBufferSize(shortnNewValue);ShortCMSComm::GetInBufferSize();说明:设置值的缺省值(默认值大小为1024字节(byte))。8.OutBufferSize:设置或返回发送缓冲区内的大小。VoidCMSComm::SetOutBufferSize(shortnNewValue);ShortCMSComm::GetOutBufferSize();说明:设置值的缺省值,默认值大小为512字节(byte),此值太小,缓冲区数据易溢出,太大会占不必要的内存。9.InBufferCount:设置或返回输入缓冲区内等待读取的字节个数。VoidCMSComm::SetInBufferCount(shortnNewValue);ShortCMSComm::GetInBufferCount();说明:当设置InBufferCount属性值为0时,可以清空接收缓冲区。10.OutBufferCount:设置或返回输入缓冲区内等待读取的字节个数。VoidCMSComm::SetOutBufferCount(shortnNewValue);ShortCMSComm::GetOutBufferCount();说明:当设置InBufferCount属性值为0时,可以清空发送缓冲区