VB串口通信,提示无效的属性值

来源:百度知道 编辑:UC知道 时间:2024/05/07 10:38:49
我现在要用VB完成单片机和电脑的通讯,单片机编写的内部程序的功能是通过uart接受外部数据,然后接收后原封不动的再把数据传回到电脑。电脑通过VB编写的程序中的文本框显示出来。单片机程序我用串口调试助手调试过,一点问题也没有,完全可以实现功能。下面是我VB程序:
Private Sub Mscomm1_Oncomm()

'...通讯事件发生

Dim indata As Variant

Dim bte(0) As Byte

Select Case MSComm1.CommEvent

Case comEvReceive '...有接受事件发生

indata = MSComm1.Input

'...注意!要通过MSComm控件发送或接收二进制数据必须用Variant类型的变量对二进

'...制Byte类型的变量进行转换!

bte(0) = AscB(indata)

Text2.Text = bte(0)

MSComm1.InBufferCount = 0 '...清空输入寄存器

End Select

End Sub

Private Sub Command1_Click()

'...发送数据

Dim Num As Integer

Dim outbte(0) As Byte

Num = Val(Text1.Text)

outbte(0) = CByte(Num)

MSComm1.OutBufferCount = 0 '...清空输出寄存器

MSComm1.Output = outbte(0) '...发送数据

End Sub

Private Sub Command

朋友,你改

MSComm1.Output = outbte(0) '...发送数据

MSComm1.Output = outbte '...发送数据

另外,你接收不到数据,要在 Form_Load() 加
MSComm1.RThreshold = 1

这样 就行了

试试,我 试过,发送没有问题

祝你顺利