Files
go-serial/test/serial_test.go
Cristian Maglie 340397b32a Added LICENSE
2014-12-14 16:44:34 +01:00

57 lines
960 B
Go

//
// Copyright 2014 Cristian Maglie. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
//
package serial
import "go.bug.st/serial"
import "fmt"
import "log"
func ExampleCommunication() {
ports, err := serial.GetPortsList()
if err != nil {
log.Fatal(err)
}
if len(ports) == 0 {
log.Fatal("No serial ports found!")
}
for _, port := range ports {
fmt.Printf("Found port: %v\n", port)
}
port, err := serial.OpenPort(ports[0], false)
if err != nil {
log.Fatal(err)
}
err = port.SetSpeed(9600)
if err != nil {
log.Fatal(err)
}
n, err := port.Write([]byte("10,20,30\n\r"))
if err != nil {
log.Fatal(err)
}
fmt.Printf("Sent %v bytes\n", n)
buff := make([]byte, 100)
for {
n, err := port.Read(buff)
if err != nil {
log.Fatal(err)
break
}
if n == 0 {
fmt.Println("\nEOF")
break
}
fmt.Printf("%v", string(buff[:n]))
}
}
// vi:ts=2