首先:
其次:
我觉得用串口的接收数据事件更好一些.
下面代码供参考:
'----------------------
'串口接收数据事件,其实比用定时器更好,
'触发事件的条件可以自己在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
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
①.、发送数据需要协议支持
自己设计一个协议,协议是什么,是两个通信段之间的约定.比如我说,我打一个奥特曼的手势表示已经看到美女了,这就是一个协议.协议完成将bit转换为对应的含义.
你怎样获取数据,将数据如何处理,怎样保存.这个需要你自己的技术支持,这里的回答没法帮你.花钱报个班吧,如果你还在上大学,那么选个选修课好好听课.下课多做小程序,就会学会了.
看方法名就应该能猜出来了嘛~
ReadLine 只读一行,而 ReadExisting 读取现有的全部.
假如下位机上送了三行数据,ReadExisting会连回车一起全部返回给你.
你可以预先约定一个截止附,读取的字节统统放到缓存区里,直到读到截止附再处理、显示.
①用picturebox 控件可以实现
X1和y1为对象左上角的新坐标位置;
现在让我们看看一些范例.这一方法将使原点处于左上角,但将坐标系统单位改变为窗体大小的1/100:
Picture1.Scale(0,0)-(100,100)
以下调用将移动原点到窗体的左下角,并旋转Y轴:
Picture1.Scale(0,100)-(100, 0)
For i = 1 To 100
j = i + 10
Me.Picture1.Line -(i, j), vbRed '可以指定画线的颜色
Next
给段代码,供参考:
Private Sub Form_Load()
Dim i, j As Integer
Me.Picture1.Scale (0, Me.Picture1.Height)-(Me.Picture1.Width, 0)
Me.Picture1.AutoRedraw = True
Me.Picture1.Line (0, 0)-(0, 0), vbRed
For i = 1 To 1000
Me.Picture1.Line -(i, j), vbRed
我这样画过曲线,大概思路就是这样吧,希望能帮到你
以上就是土嘎嘎小编为大家整理的vb.net下位机相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!