KoeeLouise
Enthusiast
- Joined
- Jun 22, 2017
- Posts
- 2
- Reaction
- 1
- Points
- 63
Mga ka Ph . newbie here bka pede nyo ako matulungan about d2 sa project ko.
ito ung scratch codes ko for testing.
Note:
RFID unit is a Reader/encoder using rs232 serial port.
(device name unknown nabili sa china ang unit)
ito ung scratch codes ko for testing.
Note:
RFID unit is a Reader/encoder using rs232 serial port.
(device name unknown nabili sa china ang unit)
Public Class frm_main
Dim WithEvents myComPort As New System.IO.Ports.SerialPort
Dim data As String
Private Sub btnstart_Click(sender As Object, e As EventArgs) Handles btnconnect.Click
If Not ComboBox1.SelectedItem Is Nothing Then
If Not myComPort.IsOpen Then
Try
With myComPort
.PortName = "COM2"
.BaudRate = 38400
.DataBits = 8
.Parity = IO.Ports.Parity.Even
.StopBits = IO.Ports.StopBits.One
.Handshake = IO.Ports.Handshake.None
AddHandler .DataReceived, AddressOf DataReceived
gb1.Text = "Connected"
End With
myComPort.Open()
ComboBox1.Enabled = False
btnconnect.Enabled = False
btndisconnect.Enabled = True
rb1.Enabled = True
rb2.Checked = True
Catch ex As Exception
MsgBox("Unable to Open COM Port. Please check if your device is connected properly.", MsgBoxStyle.Critical)
End Try
End If
Else
MsgBox("Select a valid COM Port", MsgBoxStyle.Information)
End If
End Sub
Private Sub btndisconnect_Click(sender As Object, e As EventArgs) Handles btndisconnect.Click
ComboBox1.Enabled = True
btndisconnect.Enabled = False
btnconnect.Enabled = True
rb1.Enabled = False
rb2.Checked = True
myComPort.Close()
gb1.Text = "Disconnected"
End Sub
Private Sub frm_main_Load(sender As Object, e As EventArgs) Handles MyBase.Load
For Each portName As String In My.Computer.Ports.SerialPortNames
ComboBox1.Items.Add(portName)
Next
'CheckBox1.Checked = True
If Not myComPort.IsOpen Then
btndisconnect.Enabled = False
ComboBox1.Text = ComboBox1.Items(0)
rb1.Enabled = False
rb2.Checked = True
Else
btnconnect.Enabled = False
ComboBox1.Text = myComPort.PortName
rb2.Checked = True
End If
End Sub
Private Sub rb1_CheckedChanged(sender As Object, e As EventArgs) Handles rb1.CheckedChanged
myComPort.DtrEnable = True
txtdisplay.Focus()
'txtdisplay.BeginInvoke(New myDelegate(AddressOf updateTextBox), New Object() {})
End Sub
Private Sub rb2_CheckedChanged(sender As Object, e As EventArgs) Handles rb2.CheckedChanged
myComPort.DtrEnable = False
txtdisplay.Focus()
End Sub
Private Sub DataReceived(ByVal sender As Object, ByVal e As System.IO.Ports.SerialDataReceivedEventArgs)
txtdisplay.Invoke(New myDelegate(AddressOf updateTextBox), New Object() {})
End Sub
Public Delegate Sub myDelegate()
Public Sub updateTextBox()
data = data + myComPort.ReadExisting()
MsgBox(data)
If Len(data) <= 12 Then
txtdisplay.Text = txtdisplay.Text + Mid(data, 2, 11) & vbLf
myComPort.DtrEnable = False
rb1.Enabled = False
rb2.Checked = True
Dim timeOut As DateTimeOffset = Now.AddMilliseconds(500)
Do
Application.DoEvents()
Loop Until Now > timeOut
data = myComPort.ReadExisting()
myComPort.DiscardInBuffer()
'data = ""
myComPort.DtrEnable = True
rb1.Enabled = True
rb2.Checked = True
End If
End Sub
Private Sub btnclear_Click(sender As Object, e As EventArgs) Handles btnclear.Click
txtdisplay.Text = ""
End Sub
End Class