vb.NET中用mscomm控件编写串口通信软件数据无法接收 15
如题,在VB.NET中我用mscomm控件的OnComm事件写的一个串口数据接收程序。但是在str_read=AxMSComm1.Input语句里面就出错了,是不是串口的...
如题,在VB.NET中我用mscomm控件的OnComm事件写的一个串口数据接收程序。但是在str_read = AxMSComm1.Input语句里面就出错了,是不是串口的控件设置问题出错呢?
具体代码如下:
Private Sub AxMSComm1_OnComm(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AxMSComm1.OnComm
Dim i As Integer
Dim dataread() As Byte
Select Case AxMSComm1.CommEvent '事件
Case MSCommLib.OnCommConstants.comEvCD 'CD线的状态发生变化
Case MSCommLib.OnCommConstants.comEvCTS 'CTS线的状态发生变化
Case MSCommLib.OnCommConstants.comEvDSR 'DSR线的状态发生变化
Case MSCommLib.OnCommConstants.comEvRing 'ring indicator变化
Case MSCommLib.OnCommConstants.comEvReceive '收到rthreshold#of
Dim str_read As String
str_read = AxMSComm1.Input
For i = 0 To AxMSComm1.InputLen
'dataread(i) = AxMSComm1.Input
'dataread(i) = CSByte(Mid(str_read, i, 1))
Next
End Select
End Sub 展开
具体代码如下:
Private Sub AxMSComm1_OnComm(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AxMSComm1.OnComm
Dim i As Integer
Dim dataread() As Byte
Select Case AxMSComm1.CommEvent '事件
Case MSCommLib.OnCommConstants.comEvCD 'CD线的状态发生变化
Case MSCommLib.OnCommConstants.comEvCTS 'CTS线的状态发生变化
Case MSCommLib.OnCommConstants.comEvDSR 'DSR线的状态发生变化
Case MSCommLib.OnCommConstants.comEvRing 'ring indicator变化
Case MSCommLib.OnCommConstants.comEvReceive '收到rthreshold#of
Dim str_read As String
str_read = AxMSComm1.Input
For i = 0 To AxMSComm1.InputLen
'dataread(i) = AxMSComm1.Input
'dataread(i) = CSByte(Mid(str_read, i, 1))
Next
End Select
End Sub 展开
2个回答
展开全部
.net中不用mscomm 而改用 searport
AxMSComm1.Input 只能一次,会把输入缓冲区的内容全都读出来并清空
如果没有产生Oncomm事件,你可以把输入经部区的大小改一下改成1就行了
AxMSComm1.Input 只能一次,会把输入缓冲区的内容全都读出来并清空
如果没有产生Oncomm事件,你可以把输入经部区的大小改一下改成1就行了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询