vb向单片机发送2位数字

来源:百度知道 编辑:UC知道 时间:2024/05/14 10:11:06
vb与51单片机串口通信,vb向单片机发送2位数字,而现编的发送程序为:
Private Sub command3_Click()
If Not MSComm1.PortOpen Then
MSComm1.PortOpen = True
End If
Dim number As Integer
Dim outbyte(0) As Byte

number = Val(Text2.Text)
outbyte(0) = number

outbyte(0) = CByte(number)
MSComm1.OutBufferCount = 0
MSComm1.Output = outbyte

End Sub

发一个数的时候可以发,但是发两个数字就不行了,这是为什么呢?有方法解决。。。

vb默认采用的是ucode码制,无论是英文字符、数字还是汉字一律采用双字节存储,而单片机串行口默认接收为单字节,故而会产生截断错误,不能正确传输你需要传输的数字。更改vb的码制应该可以解决。

用数组!~~

数组声明下标大小就可以了。如上:Dim outbyte(1) Byte ;包括0、1两个下标,有两个数据,要多个以此类推就行了。