go-serial 是一个允许在Go中读取和写入串行端口的软件包。它利用Go进行串口通讯。
目前该软件包仅适用于 OS X,Linux 和 Windows,它可能只需更新一些常量就可以移植到其他类Unix平台上。
只需使用go get:
go get
go get github.com/jacobsa/go-serial/serial
更新:
go get -u github.com/jacobsa/go-serial/serial
设置一个serial.OpenOptions结构,然后调用serial.Open。例如:
serial.OpenOptions
serial.Open
import "fmt" import "log" import "github.com/jacobsa/go-serial/serial" ... // Set up options. options := serial.OpenOptions{ PortName: "/dev/tty.usbserial-A8008HlV", BaudRate: 19200, DataBits: 8, StopBits: 1, MinimumReadSize: 4, } // Open the port. port, err := serial.Open(options) if err != nil { log.Fatalf("serial.Open: %v", err) } // Make sure to close it later. defer port.Close() // Write 4 bytes to the port. b := []byte{0x00, 0x01, 0x02, 0x03} n, err := port.Write(b) if err != nil { log.Fatalf("port.Write: %v", err) } fmt.Println("Wrote", n, "bytes.")