examples: clean up examples and add blinky1 for Arduino
Arduino has trouble supporting anything that's not extremely simple, so add a simple blinky example for it. Also, it may be useful anyway.
Этот коммит содержится в:
родитель
17b5b6ec5b
коммит
9101ea11bf
5 изменённых файлов: 35 добавлений и 7 удалений
13
Makefile
13
Makefile
|
@ -3,7 +3,7 @@
|
|||
all: tgo
|
||||
tgo: build/tgo
|
||||
|
||||
.PHONY: all tgo run-hello run-blinky clean fmt gen-device gen-device-nrf
|
||||
.PHONY: all tgo run-test run-blinky run-blinky2 clean fmt gen-device gen-device-nrf
|
||||
|
||||
# Custom LLVM toolchain.
|
||||
LLVM := $(shell go env GOPATH)/src/github.com/aykevl/llvm/bindings/go/llvm/workdir/llvm_build/bin/
|
||||
|
@ -56,11 +56,12 @@ endif
|
|||
|
||||
|
||||
|
||||
run-hello: build/hello
|
||||
./build/hello
|
||||
run-test: build/test
|
||||
./build/test
|
||||
|
||||
run-blinky: build/blinky
|
||||
./build/blinky
|
||||
run-blinky: run-blinky2
|
||||
run-blinky2: build/blinky2
|
||||
./build/blinky2
|
||||
|
||||
ifeq ($(TARGET),pca10040)
|
||||
flash-%: build/%.hex
|
||||
|
@ -74,7 +75,7 @@ clean:
|
|||
@rm -rf build
|
||||
|
||||
fmt:
|
||||
@go fmt . ./src/examples/hello
|
||||
@go fmt . ./src/examples/test
|
||||
@go fmt ./src/runtime/*.go
|
||||
|
||||
gen-device: gen-device-nrf
|
||||
|
|
|
@ -131,7 +131,7 @@ development.
|
|||
|
||||
After LLVM has been built, you can run an example with:
|
||||
|
||||
make run-hello
|
||||
make run-test
|
||||
|
||||
For a blinky example on the PCA10040 development board, do this:
|
||||
|
||||
|
|
20
src/examples/blinky1/blinky1.go
Обычный файл
20
src/examples/blinky1/blinky1.go
Обычный файл
|
@ -0,0 +1,20 @@
|
|||
package main
|
||||
|
||||
// This is the most minimal blinky example and should run almost everywhere.
|
||||
|
||||
import (
|
||||
"machine"
|
||||
"runtime"
|
||||
)
|
||||
|
||||
func main() {
|
||||
led := machine.GPIO{machine.LED}
|
||||
led.Configure(machine.GPIOConfig{Mode: machine.GPIO_OUTPUT})
|
||||
for {
|
||||
led.Low()
|
||||
runtime.Sleep(runtime.Millisecond * 500)
|
||||
|
||||
led.High()
|
||||
runtime.Sleep(runtime.Millisecond * 500)
|
||||
}
|
||||
}
|
|
@ -1,5 +1,10 @@
|
|||
package main
|
||||
|
||||
// This blinky is a bit more advanced than blink1, with two goroutines running
|
||||
// at the same time and blinking a different LED. The delay of led2 is slightly
|
||||
// less than half of led1, which would be hard to do without some sort of
|
||||
// concurrency.
|
||||
|
||||
import (
|
||||
"machine"
|
||||
"runtime"
|
|
@ -1,5 +1,7 @@
|
|||
package main
|
||||
|
||||
// This file is here to test features of the Go compiler.
|
||||
|
||||
import "unicode"
|
||||
|
||||
type Thing struct {
|
Загрузка…
Создание таблицы
Сослаться в новой задаче