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.