用VB实现RS232接口通信

源代码在线查看: 怎样用vb实现rs232接口通信.txt

软件大小: 2 K
上传用户: ll122644144
关键词: 232 RS 接口通信
下载地址: 免注册下载 普通下载 VIP

相关代码

				怎样用VB实现RS232接口通信
				
				发送的命令格式为 
				字节位置 含义 数据 说明 
				1,2 帧头 0xAA 0xAA 
				3 数据长度 0x04 除帧头外数据长度 
				4 传感器地址0X02 232输出方式地址为2 
				5 命令 0xxx 命令罗盘输出数据帧 
				6 效验字 前面全部数据的异或结果 
				求怎样用MSComm控件实现命令。 
				不甚感谢!
				问题补充:我的程序是这样的: 
				Private Sub Command9_Click() 
				Dim b(4) As Byte 
				b(0) = &HAA 
				b(1) = &HAA 
				b(2) = &H4 
				b(3) = &H2 
				b(4) = &H1 
				MSComm1.Output = b() 
				buf = MSComm1.Input 
				Text1.Text = buf 
				End Sub 
				我用F8调试,运行到MSComm1.output=b()这一步,显示的是 
				MSComm1.output=,buf值是空的 
				是什么原因啊?
				
				
				最佳答案
				其实很简单,声明一个变量数组其类型为Byte。然后将你要的数据逐一赋值到这个数组,将MSComm控件串行模式属性:InputMode 设为 二进制模式,也就是值为1的那个,然后将这个变量数组输出到 OutPut 就行了。如: 
				
				dim DA(4) as Byte 
				DA(0)=&HAA 
				DA(1)=&HAA 
				DA(2)=&H04 
				DA(3)=&H02 
				DA(4)=..... 
				
				MSComm1.OutPut=DA() 
				
				*注意在VB中十六进制要用 &H 开头表示 
				
				发接为二进制发送,自然接收也是一样的,所以接收的也应该是一个Byte类型的不定变量数组,接收后可用 Ubound 语句来获取字节数,接收的数据以 变量(下标) 形式取得,不能将数组直接赋值于一个变量或控件的字符属性中。如: 
				
				Dim AD() As Byte 
				Dim Ik As Long 
				AD=MSComm.Input 
				For Ik=0 To Ubound(AD) 
				Text1.text=text1.text & Chr(AD(Ik)) 
				Next			

相关资源