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 = https://www.04ip.com/post/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 串口收发数据有问题不知道你是不是用51单片机往串口发数据vb.net触发串口,是的话那是因为51的sbuf最多存放8个字节vb.net触发串口 , 所以你发12个字节会分成两次发完 。还有在接收的时候最好定义好通信协议 , 比如加一个侦头 , 一个侦尾,通过这两个字节的内容来接收数据 。
老兄,提问还是给点悬赏分嘛,不要吝啬哪点分,知识是无价的,你给得越多,回答你的人才会越多 。
VB与VB.NET串口及以太网通迅关于串口通讯的问题:
很明显,你还不知道(不会、不习惯)使用事件驱动的方式接收数据 。
建议你仔细看看串口组件(无论VB6还是VB.net)的OnComm事件,你的问题很容易解决 。
关于以太网通讯:
在TCP通讯中端口确实可以重用,你百度一下“TCP端口重用”能查到很多示例 。
但绝大多数情况下不推荐端口重用,而应该采取服务器端建立连接池的方法 。
或者,干脆不用TCP,用UDP解决也可以 。
VB.NET使用AxMSComm实现串口通信的发送读取问题?上面的代码看不出问题 , 如果初始化串口控件时已经注册了AxMSComm1_OnComm,有数据接收应该能触发,至于为什么没有触发,要看看你的接收方是否已经收到你的发出指令,是否已经有响应数据回发 。
建议分开调试,用一个通用的串口助手,如格西烽火串口助手之类的,分别调试你的上位机和下位机 。格西烽火串口助手能轻松的定制如你上面的发送数据 。
VB.NET SerialPort 串口DataReceived事件,超过五十分钟后无法触发一般是数据线的问题(是不是USB转232的,如果是,长时间测试一定要用上100元/条的那种线)
【vb.net触发串口 vb串口接收数据处理】关于vb.net触发串口和vb串口接收数据处理的介绍到此就结束了 , 不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。
推荐阅读
- 显卡插头有个圆的怎么取消,显卡插头有个圆的怎么取消啊
- 旅行社抖音小程序怎么开通,旅行社如何开通抖音小店
- 神武4ios的系统按钮在哪,神武4 ios
- u盘上的文件传染病怎么办,u盘里面的文件感染了病毒怎么办
- php分布式数据交互 php分布式存储技术
- 空格在c语言中储存的是什么,空格在c语言中储存的是什么函数
- 智商游戏飞行棋,飞行棋要智商吗
- ai智能无人直播技术,抖音智能化无人直播
- vb.net输出文本 vb怎么输出到文本