初始化项目
This commit is contained in:
171
BLV_Studio/Control/FrmSerialportSetting.vb
Normal file
171
BLV_Studio/Control/FrmSerialportSetting.vb
Normal file
@@ -0,0 +1,171 @@
|
||||
Imports System.ComponentModel
|
||||
Imports System.IO
|
||||
|
||||
Public Class FrmSerialportSetting
|
||||
Public FCsConfig As FrmCSeriesConfig
|
||||
Sub New(pathme As FrmCSeriesConfig)
|
||||
|
||||
' 此调用是设计器所必需的。
|
||||
InitializeComponent()
|
||||
FCsConfig = pathme
|
||||
' 在 InitializeComponent() 调用之后添加任何初始化。
|
||||
|
||||
End Sub
|
||||
|
||||
#Region "多语种信息"
|
||||
|
||||
''' <summary>
|
||||
''' 初始化界面控件文本
|
||||
''' </summary>
|
||||
Private Sub MultiLanguageInfo()
|
||||
''LblIP.Text = LanguageData.StringList(MultiLanguageDAL.StringEnum.LocalIP)
|
||||
Text = LanguageData.StringList(MultiLanguageDAL.StringEnum.SerialportSettings)
|
||||
LblSerialPortName.Text = LanguageData.StringList(MultiLanguageDAL.StringEnum.SerialPortName)
|
||||
LblSerialPortBaud.Text = LanguageData.StringList(MultiLanguageDAL.StringEnum.Baud)
|
||||
Button19.Text = LanguageData.StringList(MultiLanguageDAL.StringEnum.OpenTheSerialPort)
|
||||
End Sub
|
||||
|
||||
#End Region
|
||||
|
||||
#Region "初始化"
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 串口波特率
|
||||
''' </summary>
|
||||
Private _baudItme() As String = {"4800", "9600", "14400", "19200", "38400", "56000", "57600", "115200", "256000", "512000", "600000", "750000"}
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 窗体加载事件
|
||||
''' </summary>
|
||||
''' <param name="sender"></param>
|
||||
''' <param name="e"></param>
|
||||
Private Sub FrmSerialportSetting_Load(sender As Object, e As EventArgs) Handles Me.Load
|
||||
MultiLanguageInfo()
|
||||
GetSerialPort()
|
||||
InitSerialPortBaud()
|
||||
End Sub
|
||||
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 获取可用串口
|
||||
''' </summary>
|
||||
Private Sub GetSerialPort()
|
||||
Dim portNames As String() = Ports.SerialPort.GetPortNames '获得可用串口
|
||||
Array.Sort(portNames)
|
||||
ComboBox8.Items.Clear()
|
||||
ComboBox8.Items.AddRange(portNames)
|
||||
End Sub
|
||||
|
||||
''' <summary> port次数 </summary>
|
||||
Private _portCount As Integer = 0
|
||||
|
||||
''' <summary>
|
||||
''' 初始化串口波特率
|
||||
''' </summary>
|
||||
Private Sub InitSerialPortBaud()
|
||||
_portCount += 1
|
||||
ComboBox9.Items.Clear()
|
||||
ComboBox9.Items.AddRange(_baudItme)
|
||||
|
||||
If _portCount > 1 Then Return
|
||||
If ComboBox9.Items.Count > 1 Then ComboBox9.SelectedIndex = 1
|
||||
End Sub
|
||||
|
||||
''' <summary>
|
||||
''' 串口点击按键
|
||||
''' </summary>
|
||||
''' <param name="sender"></param>
|
||||
''' <param name="e"></param>
|
||||
Private Sub Button19_Click(sender As Object, e As EventArgs) Handles Button19.Click
|
||||
If String.IsNullOrWhiteSpace(ComboBox8.Text) Then
|
||||
MsgBox($"{LanguageData.StringList(MultiLanguageDAL.StringEnum.SelectAValidSerialPortFirst)}!")
|
||||
Exit Sub
|
||||
End If
|
||||
If String.IsNullOrWhiteSpace(ComboBox9.Text) Then
|
||||
MsgBox($"{LanguageData.StringList(MultiLanguageDAL.StringEnum.SelectTheValidBaudRateFirst)}!")
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
SerialPortCommSwitch(ComboBox8.Text, ComboBox9.Text)
|
||||
End Sub
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 串口通讯开关
|
||||
''' </summary>
|
||||
''' <param name="portName"></param>
|
||||
''' <param name="portBaud"></param>
|
||||
Private Sub SerialPortCommSwitch(portName As String, portBaud As String)
|
||||
If FCsConfig.SerialPort.IsOpen Then
|
||||
FCsConfig.SerialPort.Close()
|
||||
CloseSerialPort()
|
||||
Else
|
||||
ConfigSerialPort(portName, portBaud)
|
||||
Try
|
||||
FCsConfig.SerialPort.Open()
|
||||
_isSerialPort = True
|
||||
OpenSerialPort()
|
||||
Catch ex As Exception
|
||||
Console.WriteLine($"{LanguageData.StringList(MultiLanguageDAL.StringEnum.SerialPortOpenTheFailedReason)}:{ex.Message}" & vbCrLf, Color.Red)
|
||||
MsgBox($"{LanguageData.StringList(MultiLanguageDAL.StringEnum.SerialPortOpenTheFailedReason)}:{ex.Message}")
|
||||
FCsConfig.SerialPort.Close()
|
||||
_isSerialPort = False
|
||||
CloseSerialPort()
|
||||
End Try
|
||||
End If
|
||||
End Sub
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 关闭串口
|
||||
''' </summary>
|
||||
Private Sub CloseSerialPort()
|
||||
ComboBox8.Enabled = True
|
||||
ComboBox9.Enabled = True
|
||||
Button19.Text = $"{LanguageData.StringList(MultiLanguageDAL.StringEnum.OpenTheSerialPort)}"
|
||||
Button19.ForeColor = Color.Green
|
||||
End Sub
|
||||
|
||||
''' <summary>
|
||||
''' 打开串口
|
||||
''' </summary>
|
||||
Private Sub OpenSerialPort()
|
||||
ComboBox8.Enabled = False
|
||||
ComboBox9.Enabled = False
|
||||
Button19.Text = $"{LanguageData.StringList(MultiLanguageDAL.StringEnum.CloseTheSerialPort)}"
|
||||
Button19.ForeColor = Color.Red
|
||||
End Sub
|
||||
|
||||
''' <summary>
|
||||
''' 配置串口
|
||||
''' </summary>
|
||||
''' <param name="portName">串口名</param>
|
||||
''' <param name="portBaud">串口波特率</param>
|
||||
Public Sub ConfigSerialPort(portName As String, portBaud As String)
|
||||
With FCsConfig.SerialPort
|
||||
.PortName = portName '串口名
|
||||
.BaudRate = CInt(portBaud) '波特率
|
||||
.DataBits = 8 '数据位
|
||||
.StopBits = Ports.StopBits.One '停止位
|
||||
.Parity = Ports.Parity.None '偶校验
|
||||
.RtsEnable = True
|
||||
.ReceivedBytesThreshold = 1
|
||||
End With
|
||||
End Sub
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#End Region
|
||||
|
||||
|
||||
|
||||
|
||||
End Class
|
||||
Reference in New Issue
Block a user