Imports System.IO.Ports
Public Class Led8N
Public Shared Property BaudRate As Int16 = 2400
Public Shared Property PortName As String = "COM2"
Private Shared _serialPort As SerialPort = Nothing
'显示单价
Public Shared Sub showUnitPrice(price As Object)
Open()
UnitPrice(price)
close()
End Sub
'显示总计
Public Shared Sub ShowSum(amount As Object)
Open()
Sum(amount)
close()
End Sub
'显示收款
Public Shared Sub ShowGetMoney(amount As Object)
Open()
GetMoney(amount)
close()
End Sub
'显示找零
Public Shared Sub ShowReturn(amount As Object)
Open()
ReturnMoney(amount)
close()
End Sub
Private Shared Sub ReturnMoney(amount As Object)
newData(amount)
ShowReturnMoney()
End Sub
Private Shared Sub GetMoney(amount As Object)
newData(amount)
ShowGetMoney()
End Sub
Private Shared Sub Sum(amount As Object)
newData(amount)
GetSum()
End Sub
Private Shared Sub GetUnitPrice()
_serialPort.Write(Chr(27) & "s1")
End Sub
Private Shared Sub GetSum()
_serialPort.Write(Chr(27) & "s2")
End Sub
Private Shared Sub ShowGetMoney()
_serialPort.Write(Chr(27) & "s3")
End Sub
Private Shared Sub ShowReturnMoney()
_serialPort.Write(Chr(27) & "s4")
End Sub
'单价
Private Shared Sub UnitPrice(price As Object)
newData(price)
GetUnitPrice()
End Sub
'清屏
Public Shared Sub ScreenClean()
Open()
clear()
close()
End Sub
Public Shared Sub newData(data As Single)
_serialPort.Write(Chr(27) & "QA" & Format(data, "0.00") & Convert.ToChar(13).ToString)
End Sub
Private Shared Sub Open()
Try
If (_serialPort Is Nothing) Then
_serialPort = New SerialPort()
_serialPort.PortName = PortName
_serialPort.BaudRate = BaudRate
End If
If (_serialPort.IsOpen = False) Then
_serialPort.Open()
End If
Catch ex As Exception
Throw New Exception("打开串口失败!错误信息为:" + ex.Message)
End Try
End Sub
Private Shared Sub clear()
Try
_serialPort.Write(Convert.ToChar(12))
_serialPort.Write(Chr(27) & "s0")
_serialPort.Write(Chr(27) & "QA" & "0.00" & Convert.ToChar(13).ToString)
Catch ex As Exception
MsgBox("clear err" & ex.Message)
End Try
End Sub
Private Shared Sub close()
If (_serialPort IsNot Nothing AndAlso _serialPort.IsOpen() = True) Then
Try
_serialPort.Close()
Catch ex As Exception
MsgBox("close err" & ex.Message)
End Try
End If
End Sub
End Class
调用方法:
Led8N.BaudRate = 2400
Led8N.PortName = "COM2"
'清屏
Led8N.ScreenClean()
'单价
Led8N.showUnitPrice("1.23")
'总金额
Led8N.ShowSum("2.34")
'找零
Led8N.ShowReturn(2.3)
'收款
Led8N.ShowGetMoney(3.2)
也下载资源文件