VB里面用mscomm获取COM数据的长度?
mscomm控件里面的什么属性或者方法可以读入从COM口数据的长度,我用mscomm1.InBufferCount每次最多只显示8,低于8位的数据,可以显示正常的位数,超...
mscomm控件里面的什么属性或者方法可以读入从COM口数据的长度,我用
mscomm1.InBufferCount 每次最多只显示8,低于8位的数据,可以显示正常的位数,超过8位以上的也只显示8,怎么解决?
因为每次传过来的数据长度不一定一样,所以我想,传输一次有多少就显示多少数据,有什么好的方法实现?谢谢了
InputSignal = MSComm.Input
ReceiveCount = ReceiveCount + LenB(StrConv(InputSignal, vbFromUnicode)) ' 计算总接收数据
If DisplaySwitch = False Then ' 显示接收文本
TxtReceive.Text = TxtReceive.Text & InputSignal ' 单片机内存的值用TextReceive显示出
TxtReceive.SelStart = Len(TxtReceive.Text) ' 显示光标位置
End If
TxtRXCount.Text = "RX:" & ReceiveCount ' 接收字节数显示
If ChkAutoClear.Value = 1 Then ' 自动清空判断
If ReceiveCount >= 65535 Then
TxtReceive.Text = ""
End If
End If
这个是串口调试精灵里面的代码,但是没有用,扫描一个条码只显示2个字符,因为我是用VBA,需要把数据扫描到EXCEL里面,我用一个延时函数好像更好点。 展开
mscomm1.InBufferCount 每次最多只显示8,低于8位的数据,可以显示正常的位数,超过8位以上的也只显示8,怎么解决?
因为每次传过来的数据长度不一定一样,所以我想,传输一次有多少就显示多少数据,有什么好的方法实现?谢谢了
InputSignal = MSComm.Input
ReceiveCount = ReceiveCount + LenB(StrConv(InputSignal, vbFromUnicode)) ' 计算总接收数据
If DisplaySwitch = False Then ' 显示接收文本
TxtReceive.Text = TxtReceive.Text & InputSignal ' 单片机内存的值用TextReceive显示出
TxtReceive.SelStart = Len(TxtReceive.Text) ' 显示光标位置
End If
TxtRXCount.Text = "RX:" & ReceiveCount ' 接收字节数显示
If ChkAutoClear.Value = 1 Then ' 自动清空判断
If ReceiveCount >= 65535 Then
TxtReceive.Text = ""
End If
End If
这个是串口调试精灵里面的代码,但是没有用,扫描一个条码只显示2个字符,因为我是用VBA,需要把数据扫描到EXCEL里面,我用一个延时函数好像更好点。 展开
2个回答
2011-12-19
展开全部
推荐看书
Visual_Basic与_RS-232_串行通信控制
Visual_Basic与_RS-232_串行通信控制
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询