go-serial: Go语言实现的串口通信库
以下是一个使用go-serial库进行串口通信的基本示例代码。在运行此代码之前,请确保已经安装了go-serial库。
package main
import (
"fmt"
"github.com/jacobsa/go-serial/serial"
"time"
)
func main() {
// 配置串口参数
options := serial.OpenOptions{
PortName: "COM3", // 串口名,根据实际情况修改
BaudRate: 9600, // 波特率
DataBits: 8, // 数据位
StopBits: 1, // 停止位
MinimumReadSize: 4, // 最小读取字节数
}
// 打开串口
port, err := serial.Open(options)
if err != nil {
fmt.Println("Error opening port:", err)
return
}
defer port.Close() // 确保在结束时关闭串口
// 写入数据到串口
_, err = port.Write([]byte("Hello serial port!\n"))
if err != nil {
fmt.Println("Error writing to port:", err)
return
}
// 读取串口数据
buffer := make([]byte, 128)
n, err := port.Read(buffer)
if err != nil {
fmt.Println("Error reading from port:", err)
return
}
fmt.Printf("Received: %s\n", buffer[:n])
}
这段代码首先配置了串口的参数,然后尝试打开串口。如果串口成功打开,它会向串口写入一条消息,然后读取并打印返回的响应。在实际应用中,你需要根据自己的硬件和通信协议来调整这些参数。
评论已关闭