This commit is contained in:
zhiqiang feng
2020-12-22 12:08:06 +08:00
parent f0983f0d02
commit 689c5748ec
+13 -13
View File
@@ -1,27 +1,28 @@
package utils package utils
import ( import (
"github.com/tarm/serial"
"io" "io"
"log" "log"
"time" "time"
"github.com/tarm/serial"
) )
var( var (
device string device string
baudrate int baudrate int
bytesize byte bytesize byte
port *serial.Port port *serial.Port
portOpened bool portOpened = false
) )
func OpenPort(device string, baudrate int, bytesize byte) error { func OpenPort(device string, baudrate int, bytesize byte) error {
log.Println("opening port device:", device, ", baudrate=", baudrate, ", bytesize=",bytesize) log.Println("opening port device:", device, ", baudrate=", baudrate, ", bytesize=", bytesize)
config := &serial.Config{Name: device, Baud: baudrate, Size: bytesize, ReadTimeout: time.Second * 1} config := &serial.Config{Name: device, Baud: baudrate, Size: bytesize, ReadTimeout: time.Second * 1}
var err error var err error
port, err = serial.OpenPort(config) port, err = serial.OpenPort(config)
if err!=nil { if err != nil {
log.Fatalln("error in open serial port ", err) log.Fatalln("error in open serial port ", err)
return err return err
} }
log.Println("opened port ", port) log.Println("opened port ", port)
@@ -29,12 +30,12 @@ func OpenPort(device string, baudrate int, bytesize byte) error {
return nil return nil
} }
func ReadPort() ([]byte, int){ func ReadPort() ([]byte, int) {
buffer := make([]byte, 256) buffer := make([]byte, 256)
if !ServerRunning { if !ServerRunning {
return buffer, 0 return buffer, 0
} }
count,err := port.Read(buffer) count, err := port.Read(buffer)
if err != nil && err != io.EOF { if err != nil && err != io.EOF {
log.Println("error in read port ", err) log.Println("error in read port ", err)
//TODO: 3 time fail try to //TODO: 3 time fail try to
@@ -45,4 +46,3 @@ func ReadPort() ([]byte, int){
func IsPortOpen() bool { func IsPortOpen() bool {
return portOpened return portOpened
} }