From df0edecd6ca4a38195849cc450430155ad308eaf Mon Sep 17 00:00:00 2001 From: Stian Eikeland Date: Tue, 30 Jul 2013 16:31:28 +0200 Subject: [PATCH] Added example program: blinker.go --- examples/blinker/blinker.go | 43 +++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 examples/blinker/blinker.go diff --git a/examples/blinker/blinker.go b/examples/blinker/blinker.go new file mode 100644 index 0000000..8792b88 --- /dev/null +++ b/examples/blinker/blinker.go @@ -0,0 +1,43 @@ +/* + +A blinker example using go-rpio library. +Requires administrator rights to run + +Toggles a LED on physical pin 19 (mcu pin 10) +Connect a LED with resistor from pin 19 to ground. + +*/ + +package main + +import ( + "fmt" + "github.com/stianeikeland/go-rpio" + "os" + "time" +) + +var ( + // Use mcu pin 10, corresponds to physical pin 19 on the pi + pin = rpio.Pin(10) +) + +func main() { + // Open and map memory to access gpio, check for errors + if err := rpio.Open(); err != nil { + fmt.Println(err) + os.Exit(1) + } + + // Unmap gpio memory when done + defer rpio.Close() + + // Set pin to output mode + pin.Output() + + // Toggle pin 20 times + for x := 0; x < 20; x++ { + pin.Toggle() + time.Sleep(time.Second / 5) + } +}