Golang 串口通信
在Go语言中,可以使用github.com/jacobsa/go-serial/serial
包来进行串口通信。以下是一个简单的例子,展示了如何打开串口,设置串口参数,并发送接收数据。
首先,你需要安装串口包:
go get github.com/jacobsa/go-serial/serial
然后,你可以使用以下代码进行串口通信:
package main
import (
"fmt"
"github.com/jacobsa/go-serial/serial"
"time"
)
func main() {
// 打开串口
portName := "COM1" // 根据你的系统修改
options := serial.OpenOptions{
PortName: portName,
BaudRate: 9600,
DataBits: 8,
StopBits: 1,
MinimumReadSize: 4,
}
port, err := serial.Open(options)
if err != nil {
fmt.Println("Error opening serial port:", err)
return
}
defer port.Close()
// 写入数据到串口
_, err = port.Write([]byte("Hello serial port!\n"))
if err != nil {
fmt.Println("Error writing to serial port:", err)
return
}
// 从串口读取数据
buffer := make([]byte, 128)
n, err := port.Read(buffer)
if err != nil {
fmt.Println("Error reading from serial port:", err)
return
}
fmt.Printf("Received: %s\n", buffer[:n])
}
确保你的串口设备已经连接并且可以被系统识别。这个例子中,我们打开了名为COM1
的串口设备(根据你的操作系统和设备名称可能不同),设置了波特率为9600,数据位为8,停止位为1。然后发送了一个字符串,并从串口读取了数据。
请根据你的实际情况修改串口设备名称、波特率、数据位、停止位和读取缓冲区大小。
评论已关闭