- 1、本文档共7页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
VB2005串口通讯.
VB2005串口通讯
VB2005自带了一个串口通讯的控件SerialPort,该控件类似于VB6.0的串口Mscomm,但又有一定区别。
下面是对它们的一个比较:
1.串口的打开/关闭
VB6.0串口打开是MSComm1.PortOpen =True,VB2005则直接调用SerialPort1.Open
VB6.0串口关闭是MSComm1.PortOpen= False,VB2005则直接调用SerialPort1.Close
2.参数的设置对比
VB串口设置可以单独设置,也可以通过其Setting属性设置如:MSComm1.Settings = “9600,n,8,2”
?而VB2005的串口属性只能分别设置,如:
?端口:SerialPort1.PortName
?波特率:SerialPort1.BaudRate
?数据位长度:SerialPort1.DataBit
?奇偶校验:SerialPort1.Parity
?停止位:SerialPort1.StopBits
?????com.PortName = “com1”
??????? com.BaudRate = 9600
??????? com.DataBits = 8
??????? com.StopBits = IO.Ports.StopBits.One
??????? com.Parity = IO.Ports.Parity.None
??????? com.Open()
3.向串行端口输出缓冲区写数据
?VB6.0向串口写数据是MSComm1.Output方法,其传递的是字符串或数据的起始地址
?VB2005向串口写数据是通过SerialPort1.Write方法,该方法有三种方式:
?(1).直接输出字符串,该方式只有一个参数,string,如:SerialPort1.Write SendString???
?这里面SendString是一个字符串
?(2).以字节方式输出,这种方式有三个参数:
?第一个参数是要输出的字节数据的起始地址
?第二个参数是从字节数据的第几个开始
?第三个参数是要发送的字节个数
例如:SerialPort1.Write (SendByte,1,10)就是指把字节数组的SendByte的第1到第10个字节发送到输出缓冲区
?(3).以字符方式输出,这种方式也有三个参数:
?第一个参数是要输出的字符数据的起始地址
?第二个参数是从字符数据的第几个开始
?第三个参数是要发送的字符个数
例如:SerialPort1.Write (SendChar,1,10)就是指把字符数组的SendByte的第1到第10个字符发送到输出缓冲区
4.从串行端口输入缓冲区读数据
?VB6.0从串口读数据是MSComm1.Input方法,其返回的是字符串或一个一维数据
?VB2005从串口读数据是通过SerialPort1.Read方法,该方法有二种方式:
?(1).以字节方式读出,这种方式有三个参数:
?第一个参数buffer,是将输入写入到其中的字节数组
?第二个参数offset,缓冲区数组中开始读出的偏移量,对于从头读的数据,应将其设为1
第三个参数count,要读取的字节数,如果读当前缓冲区所有数据,则可用其属性SerialPort1.BytesToRead作为参数传递
这里面SerialPort1.BytesToRead就是所接收的个数
例如:SerialPort1.Read (ReadByte,1,10)就是指把缓冲区的第1到第10个字节读到ReadByte字节数组中
?(2).以字节方式读出,这种方式有三个参数:
?第一个参数buffer,是将输入写入到其中的字符数组
?第二个参数offset,缓冲区数组中开始读出的偏移量,对于从头读的数据,应将其设为1
第三个参数count,要读取的字节数,如果读当前缓冲区所有数据,则可用其属性SerialPort1.BytesToRead作为参数传递
这里面SerialPort1.BytesToRead就是所接收的个数
例如:SerialPort1.Read (ReadChar,1,10)就是指把缓冲区的第1到第10个字节读到ReadChar字符数组中
5.相关属性
?(1).SerialPort1.DtrEnable该值在串行通信过程中启用数据终端就绪 (DTR) 信号
在通讯时,请把该值置为1,否则读入的数据会丢失(原因尚未搞明白,可能跟硬件有关系吧)
?(2).SerialPort1.RtsEnable该值指示在串行通信中是否启用请求发送 (RTS) 信号
?当然,还有其它属性,这里只对常用几个参数作了对比,其它参数请自行参考相关说明.
VB2005向串口写数据是通过SerialPort1.Wri
文档评论(0)