Documentation
¶
Overview ¶
serial 是一个Go代码实现的串口(Uart)收发包。使用操作系统标准的 read 和 write 文件接口 实现串口字节流的接收和发送。
默认配置: 8 N 1 N (数据位: 8 奇偶校验: N 停止位: 1 数据流控: N)
例子:
package main
import (
"github.com/xluohome/serial"
"log"
)
func main() {
c := &serial.Config{Name: "COM9", Baud: 9600}
s, err := serial.OpenPort(c)
if err != nil {
log.Fatal(err)
}
n, err := s.Write([]byte("test"))
if err != nil {
log.Fatal(err)
}
buf := make([]byte, 128)
n, err = s.Read(buf)
if err != nil {
log.Fatal(err)
}
log.Print("%q", buf[:n])
}
Index ¶
Constants ¶
View Source
const DefaultSize = 8 // Default value for Config.Size
Variables ¶
View Source
var ErrBadParity error = errors.New("unsupported parity setting")
ErrBadParity is returned if the parity is not supported.
View Source
var ErrBadSize error = errors.New("unsupported serial data size")
ErrBadSize is returned if Size is not supported.
View Source
var ErrBadStopBits error = errors.New("unsupported stop bit setting")
ErrBadStopBits is returned if the specified StopBits setting not supported.
Functions ¶
func TestConnection ¶
Types ¶
type Config ¶
type Config struct {
Name string
Baud int
ReadTimeout time.Duration // Total timeout
// Size is the number of data bits. If 0, DefaultSize is used.
Size byte
// Parity is the bit to use and defaults to ParityNone (no parity bit).
Parity Parity
// Number of stop bits to use. Default is 1 (1 stop bit).
StopBits StopBits
}
Config contains the information needed to open a serial port.
Currently few options are implemented, but more may be added in the future (patches welcome), so it is recommended that you create a new config addressing the fields by name rather than by order.
For example:
c0 := &serial.Config{Name: "COM45", Baud: 115200, ReadTimeout: time.Millisecond * 500}
or
c1 := new(serial.Config) c1.Name = "/dev/tty.usbserial" c1.Baud = 115200 c1.ReadTimeout = time.Millisecond * 500
Click to show internal directories.
Click to hide internal directories.
