VB采用SerialPort控件串口通信中,接受数据怎么实现?

这是写了的部分PrivateSubSerialPort1_DataReceived(ByValsenderAsObject,ByValeAsSystem.IO.Ports... 这是写了的部分
Private Sub SerialPort1_DataReceived(ByVal sender As Object, ByVal e As System.IO.Ports.SerialDataReceivedEventArgs) Handles SerialPort1.DataReceived
Dim n As Integer
Dim rxdata(2) As Byte
SerialPort1.PortName = "COM9"
n = Me.SerialPort1.BytesToRead '接收到的字节数
If (n > 0) Then ReDim rxdata(n - 1)
Me.SerialPort1.Read(rxdata, 0, n)
SerialPort1.Close()
End Sub
展开
 我来答
浪花飘零2000
2014-07-22 · TA获得超过630个赞
知道小有建树答主
回答量:579
采纳率:0%
帮助的人:540万
展开全部
在Form_Load()内写入以下代码,进行串口初始化

MSComm1.CommPort =9 '读取com口号
If MSComm1.PortOpen = True Then '如果串口打开先关闭后再进行其他操作
MSComm1.PortOpen = False
End If
MSComm1.PortOpen = True '打开串口9

在退出按钮中写入
MSComm1.PortOpen = False '以在退出程序时关闭串口

双击串口控件图标,在其处理程序中写入以下代码
Dim BytReceived() As Byte
Dim strBuff As String
Dim i As Integer
Select Case MSComm1.CommEvent '事件发生
Case 2
MSComm1.InputLen = 0 '读入缓冲区全部内容
strBuff = MSComm1.Input '读入到缓冲区,strBuff 中存放的就是串口接收的数据
End Select
End Sub

满意请及时采纳,谢谢
追问
非常谢谢您这么详细的答案,但是我的VS 2012上是没有MScomm控件的,只能采用SerialPort进行控制啊!
追答
找找看,我机器里没安装VS2012
鹿城舞二
推荐于2017-09-14 · TA获得超过487个赞
知道小有建树答主
回答量:1185
采纳率:50%
帮助的人:682万
展开全部
做RS232 通讯 用SerialPort1控件 就可以了啊
我用虚拟串口 做测试,
写入 SerialPort1.Write("字符串数据")
读取 SerialPort2.ReadExisting.ToString

记得给两个控件附上必要的属性如COM口,并打开。
读取时,可以使用SerialPort自带的事件,但是记得在事件所调用的方法里尽量使用委托的方式抓取其他控件的句柄。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式