重庆分公司,新征程启航

为企业提供网站建设、域名注册、服务器等服务

vb.net串口配置 vbnet串口通信如何编写

VB.net串口通讯接收数据写法

Do

我们提供的服务有:网站建设、成都做网站、微信公众号开发、网站优化、网站认证、昔阳ssl等。为上千企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的昔阳网站制作公司

Application.DoEvents()

Loop Until MSComm1.InBufferCount = 13

Dim a As String = MSComm1.Input

Label1.Caption = a.Substring(1, 9)

Label2.Caption = a.Substring(10, 3)

vb.net 串口接收问题

0x3F表示字符"?"

估计是你的发送指令不正确,设备返回你发送的指令后面加''?""

vb.net中串口发送数据问题

串口通讯本来就是传送的字符的Ascll码。如果你传送的是二进制数据,可以把二进制的数据每8bit换算成一个对应的字符传过去,接收端逆向转换过来即可。

VB.NET使用AxMSComm实现串口通信的发送读取问题?

上面的代码看不出问题,如果初始化串口控件时已经注册了AxMSComm1_OnComm,有数据接收应该能触发,至于为什么没有触发,要看看你的接收方是否已经收到你的发出指令,是否已经有响应数据回发。

建议分开调试,用一个通用的串口助手,如格西烽火串口助手之类的,分别调试你的上位机和下位机。格西烽火串口助手能轻松的定制如你上面的发送数据。

vb.NET中用mscomm控件编写串口通信软件数据无法接收

.net中不用mscomm 而改用 searport

AxMSComm1.Input 只能一次,会把输入缓冲区的内容全都读出来并清空

如果没有产生Oncomm事件,你可以把输入经部区的大小改一下改成1就行了

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串口配置 vbnet串口通信如何编写
URL标题:http://cqcxhl.com/article/docscjh.html

其他资讯

在线咨询
服务热线
服务热线:028-86922220
TOP