
正文
vb.net串口显示的简单介绍
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
vb.net串口类程序,串口打不开
1、检查串口是否正确,比如COM1,COM2,COM3等;
2、检查波特率是否正确,比如9600,115200等;
3、检查数据位、停止位、校验位是否正确,比如8位数据位、1位停止位、无校验位等;
4、检查串口线是否接好;
5、检查串口是否被其他程序占用,可以使用串口调试助手查看;
6、检查串口驱动是否安装正确,可以在设备管理器中查看;
7、检查程序代码是否正确,可以使用串口调试助手查看。
相关问答
Q1: 在vb.net中如何使用dundas控件把串口中发送的数据即时显示出来
n = SerialPort1.BytesToRead '读取字节数 If n 0 Then '若字节数大于0.则执行以下操作
ReDim rc(n) '重新定义rcvb.net串口显示的长度vb.net串口显示,(之前有定义过)
strrc = 0 '变量类型为字符串(string)vb.net串口显示,一开始使它为0
For i = 1 To n
rc(i) = SerialPort1.ReadByte ‘读取数据
strrc += CStr(Hex(rc(i))) '这里Hex 函数 返回表示数vb.net串口显示的十六进制值vb.net串口显示的字符串
'CStr 函数 返回已被转换为字符串子类型的变体的表达式。
Next
TextBox1.Text = strrc '将strrc的值付给TextBox1.Text即可
End If
Q2: vb.net 怎么用事件触发的方式读取串口数据
首先:
textbox里没有显示,是因为SerialPort1和TextBox2不是同一线程创建的,需要跨线程操作。需要用到委托,这样才能显示出来。
其次:
我觉得用串口的接收数据事件更好一些。
下面代码供参考:
'----------------------
'串口接收数据事件,其实比用定时器更好,
'触发事件的条件可以自己在form_load中设置ReceivedBytesThreshold属性数值,默认为ReceivedBytesThreshold=1
Private Sub SerialPort1_DataReceived(ByVal sender As Object, ByVal e As System.IO.Ports.SerialDataReceivedEventArgs) Handles SerialPort1.DataReceived
Dim strRecvData As String = ""
strRecvData = SerialPort1.ReadExisting
Call disPlayComData(strRecvData)
End Sub
Delegate Sub callback(ByVal strT As String) '定义委托
Sub showString(ByVal comdata As String) '显示结果
Me.TextBox1.Text = "结果:" comdata
End Sub
Sub disPlayComData(ByVal strTmp As String) '判定是否为跨线程
If Me.TextBox1.InvokeRequired Then
Dim d As New callback(AddressOf showString)
Me.Invoke(d, New Object() {strTmp})
Else
Me.TextBox1.Text = strTmp
End If
End Sub
vb.net串口显示的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于、vb.net串口显示的信息别忘了在本站进行查找喔。






