上位机软件开发实例(java开发上位机软件)
本篇文章给大家谈谈上位机软件开发实例,以及java开发上位机软件对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、【上下位机通信】:下位机(STM32)通过网口(DM9000之类的.)向上位机PC发送数据。求上位机例子程序~
- 2、利用电脑做上位机开发一个软件,用单片机做下位机。在上位机上点击软件上的按钮能使单片机输出一路I/O口
- 3、如何用c语言开发自己的上位机软件
- 4、vb串口通信程序实例
【上下位机通信】:下位机(STM32)通过网口(DM9000之类的.)向上位机PC发送数据。求上位机例子程序~
用 socket 类 udp tcp 我这 给你个 最简单的 例子 udp
服务器端
Imports System.Net.Sockets
Imports System.Net
Module socketsever
Sub main()
startserver()
End Sub
Private Sub startserver()
'创建服务器端的socket
Dim sServer As New Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp)
Dim myip As IPAddress
'制订本地回路的ip地址
myip = IPAddress.Parse("10.13.115.105")
'设置服务器端口号
Dim sServerep As New IPEndPoint(myip, 2001)
'设置客户端的端口号
Dim clientep As New IPEndPoint(myip, 2002)
'将端口与socket绑定
sServer.Bind(sServerep)
While True
Try
Dim bytes(100) As Byte
'等待客户端的请求
sServer.ReceiveFrom(bytes, clientep)
Dim str As String = System.Text.Encoding.ASCII.GetString(bytes)
'将字符转化成大写
str = str.ToUpper
bytes = System.Text.Encoding.ASCII.GetBytes(str)
'返回结果
sServer.SendTo(bytes, clientep)
Catch e As SocketException
End Try
End While
End Sub
End Module
客户端
界面 和程序
Imports System.Net.Sockets
Imports System.Net
Public Class Form1
Inherits System.Windows.Forms.Form
Private Sub bsend_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bsend.Click
'创建客户端的socket
Dim cClient As New Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp)
'指定本地回路的ip地址
Dim myip, myip1 As IPAddress
myip = IPAddress.Parse("10.13.115.105")
myip1 = IPAddress.Parse("10.13.115.136")
'设置服务器端口号
Dim Serverep As New IPEndPoint(myip1, 2001)
'设置客户端的端口号
Dim clientep As New IPEndPoint(myip, 2002)
'将端口与socket绑定
cClient.Bind(clientep)
Try
Dim str As String = Textinput.Text
Dim bytes() As Byte = System.Text.Encoding.ASCII.GetBytes(str)
'向服务器发出请求
cClient.SendTo(bytes, Serverep)
Dim bytes2(100) As Byte
'接受服务器的响应结果
cClient.ReceiveFrom(bytes2, Serverep)
str = System.Text.Encoding.ASCII.GetString(bytes2)
'将结果显示在文本框中
Textdisplay.Text = Textdisplay.Text vbNewLine str
Catch er As SocketException
MsgBox(er.ToString)
End Try
cClient.Close()
End Sub
End Class
利用电脑做上位机开发一个软件,用单片机做下位机。在上位机上点击软件上的按钮能使单片机输出一路I/O口
主要涉及到单片机基础知识,重点是串口通信,上位机可以考虑vc和.net,这两种都可以。.net使用c#语言,感觉比较好上手,我也可以给你点视频教程,一学就会。
如何用c语言开发自己的上位机软件
一般开发上位机软件都是带图形界面的。C也能做出图形界面的软件,但是开发周期太长也不实用。所以最好还是需要会一些其他语言,例如C++,C#,Java这些做图形界面开发周期短的语言。既然会C,那么学习其他语言也只是一个熟悉语法的过程。所以很快就能上手,因为语言都是相通的嘛。可以开阔自己的视野去学习一下新的语言。不是说只会C有什么弊端,只是想说会的多才会知道语言之间的优劣。
vb串口通信程序实例
我也是自己摸索开发出来的每一款VBtoCOM通讯,有具体的思路如下:
给你推荐一个工具“com串口测试工具 ComTone V1.0 中文绿色版”
1、打开你的噪音计的测试软件,调整好串口号、通讯频率等等,我用温度计举例说明。
开始查询后有返回数值,这个Receive:就是返回的数值000304012200004b05,
打开串口监视精灵,监视软件的com口事件:
这里面的Write是测试软件发出的查询指令,read是设备返回的数据指令
Private Sub Command1_Click() '发送指令
If Not MSComm1.PortOpen Then
MSComm1.CommPort = 7 '串口为7
MSComm1.Settings = "9600,n,8,1"
MSComm1.InBufferCount = 0 '清除接收缓冲区
MSComm1.OutBufferCount = 0 '清除发送缓冲区
MSComm1.InputMode = comInputModeBinary '二进制接收
MSComm1.InputLen = 0 '读取接收缓冲区的所有字符
MSComm1.PortOpen = True '打开串口
MSComm1.RTSEnable = False '置为发送状态
End If
Dim pu() As Byte
Dim strdata As String
Dim crc_js() As Byte
ReDim pu(7) '这个数组是8位的查询指令
pu(0) = "H00" '温度计地址
pu(1) = "H03" '查询指令
pu(2) = "H00" '2、3为温度计地址
pu(3) = "H00" '2、3为温度计地址
pu(4) = "H00" '4、5为读取寄存器长度
pu(5) = "H02" '4、5为读取寄存器长度
pu(6) = "HC5" '6、7为CRC校验码 因为我们不知道设备的CRC校验规则所以用测试软件产生的校验码
pu(7) = "HDA" '6、7为CRC校验码
MSComm1.Output = pu
'不做任何事情,仅仅允许其它应用程序处理它们的事件。
DoEvents
MSComm1.InBufferCount = 0 '清除接收缓冲区
MSComm1.RThreshold = 9 '所要接收的数据长度,我们通过COM检测精灵看到了回传数据一共是9字节
MSComm1.RTSEnable = True '转为接收状态
End Sub
Private Sub Command2_Click()
Timer1.Enabled = False
End Sub
Private Sub Form_Unload(Cancel As Integer)
If MSComm1.PortOpen Then
MSComm1.PortOpen = False '关闭串口
End If
Timer1.Enabled = False
End Sub
Private Sub MSComm1_OnComm() 'COM事件
Dim PA() As Byte
Dim PB As String
Select Case MSComm1.CommEvent
Case comEvReceive
MSComm1.InputLen = 0 '读取接收缓冲区的所有字符
PB = MSComm1.Input
PA() = PB
For i = 0 To UBound(PA())
'Print "PA(" i ")"; PA(i)
If Len(Hex(PA(i))) = 1 Then
strdata = strdata "0" Hex(PA(i))
Else
strdata = strdata Hex(PA(i))
End If
Next
'回传的数据串:000304012600000AC4,这9字节根据通讯协议我们进行拆分
'00为协议内回传机号,03为读命令,04为返回的数据长度 0126 为我要的温度数据为十六进制表达,下面我进行数据处理
wd = CLng("H" Left(Right(strdata, 12), 4)) / 10 "℃" '根据通讯协议换算成温度
Text1 = Text1 vbCrLf strdata " " wd
strdata = ""
MSComm1.PortOpen = False '关闭串口
End Select
End Sub
Private Sub Timer1_Timer()
Call Command1_Click
End Sub
这是我的测试结果。
下面是通讯协议
这个是我的软件用检测精灵检测的结果
上位机软件开发实例的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java开发上位机软件、上位机软件开发实例的信息别忘了在本站进行查找喔。