go-serial - 利用 Go 进行串口通讯


Apache
跨平台
Google Go

软件简介

go-serial 是一个允许在Go中读取和写入串行端口的软件包。它利用Go进行串口通讯。

OS支持

目前该软件包仅适用于 OS X,Linux 和 Windows,它可能只需更新一些常量就可以移植到其他类Unix平台上。

安装

只需使用go get

go get github.com/jacobsa/go-serial/serial

更新:

go get -u github.com/jacobsa/go-serial/serial

使用

设置一个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.")