Open ruixule opened 2 months ago
c := &serial.Config{ Name: "COM3", Baud: 9600, Parity: 0, StopBits: 1, ReadTimeout: 100 * time.Millisecond, } port, err := serial.OpenPort(c)
if err != nil { u.Lg.Error("Failed to open port:", err) return } defer port.Close() var receivedData []byte for { data := make([]byte, bufferSize) // 创建一个固定大小的缓冲区 n, err := port.Read(data) if err != nil { u.Lg.Error(err) errCount++ if errCount > maxErrCount { u.Lg.Error("errCount > maxErrCount") return } } else { errCount = 0 if n > 0 { //receivedData = append(receivedData, data[:n]...) u.Lg.Infof("Received data so far: %v", data[:n]) if n > processBytes { processSerialData(receivedData) receivedData = nil // 重置接收的数据 } } } }
c := &serial.Config{ Name: "COM3", Baud: 9600, Parity: 0, StopBits: 1, ReadTimeout: 100 * time.Millisecond, } port, err := serial.OpenPort(c)