建议你仔细看看串口组件(无论VB6还是VB.net)的OnComm事件,你的问题很容易解决。关于以太网通讯:在TCP通讯中端口确实可以重用,你百度一下“TCP端口重用”能查到很多示例。但绝大多数情况下不推荐端口重用,而应该采取服务器端建立连接池的方法。或者,干脆不用TCP,用UDP解决也可以。
上位机采集数据要么是通过IP/TCP 协议(网卡),要么是通过串口获取。你的是通过串口获取。1.定义一个时钟Timer。(时钟周期为你的采集周期)2.在时钟的Tick事件里写采集数据代码。(SerialPort类)
vb.net Code Imports System.IO.Ports Imports System.Text Public Class Form1 Dim RS232Com As New SerialPort Dim mPortName As String Public Sub OpenCOM()mPortName = Me.CmbCom.SelectedItem.ToString RS232Com = New SerialPort(mPortName, 9600, Parity.None, 8, StopBits.One)RS232C...
首先:textbox里没有显示,是因为SerialPort1和TextBox2不是同一线程创建的,需要跨线程操作。需要用到委托,这样才能显示出来。其次:我觉得用串口的接收数据事件更好一些。下面代码供参考:'--- '串口接收数据事件,其实比用定时器更好,'触发事件的条件可以自己在form_load中设置ReceivedBytesThreshold...
在MFC下的32位串口应用程序 32位下串口通信程序可以用两种方法实现:利用ActiveX控件;使用API 通信函数。 使用ActiveX控件,程序实现非常简单,结构清晰,缺点是欠灵活;使用API 通信函数的优缺点则基本上相反。 使用ActiveX控件: VC++ 6.0提供的MSComm控件通过串行端口发送和接收数据,为应用程序提供串行通信功能。使用非常...