关于VB.NET串行通信的问题
本人刚刚学习VB.NET,看了很多书都没有关于串行通信方面的内容,希望大家帮忙给个程序用来学习!要求:在VB.NET的窗体上添加一个按键(button),点击按键,下位机控制的电机开始旋转。下位机可以是单片机、PLC等!波特率、停止位等通信协议大家可以自己设定,希望大家帮忙给个详细点的程序! --------------------编程问答-------------------- 去下载去,东西多了! --------------------编程问答-------------------- 我已经找了很多网站了,讲的都不明白
Private Sub btnOpenPort_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOpenPort.Click
Dim mPortName, Buf As String
If RS232.IsOpen Then '已经打开通信端口了
RS232.Close()
btnOpenPort.Text = "打开通信端口"
Exit Sub
End If
btnOpenPort.Text = "关闭通信端口"
mPortName = cmbCOM.SelectedItem.ToString '欲打开的通信端口
RS232.PortName = mPortName
RS232.Encoding = Encoding.ASCII '设定编码方式为ASCII
If Not RS232.IsOpen Then '还未打开
RS232.Open() '打开通信端口
RS232.Write("SET TYPE 1" & vbCr) '设定为噪声计
TimeDelay(200)
Buf = RS232.ReadExisting()
btnSend.Enabled = True '启用传送按钮
End If
End Sub
这些程序我能看明白,但是我现在不明白的是在上位机发送数据的时候,怎么体现出通信协议呢? --------------------编程问答-------------------- 通信协议都封装好了. --------------------编程问答-------------------- 通讯协议是自己定的,控件只管把你要送的字节送出去,例如你用VB送出 “68 00 04 11 22 33 XX 16”
当单片机收到后,在单片机的程式里有协易做图释,68 表示指令开头,04 表示后面有4个字节数据理,XX 表示校验和,16表示指令接收尾部。112233 这都是自己定义的 --------------------编程问答-------------------- 跟下位机的通讯协议就体现在你发送的内容中了
补充:.NET技术 , VB.NET