Using golang to program arduino uni board
1- Code
2- Compile using tinygo docker image
3- Upload by avrdude in command line
1- Code
package main import ( "machine" "time" // "fmt" ) const led = machine.LED func main() { // fmt.Println("Test") println("Hello, TinyGo") led.Configure(machine.PinConfig{Mode: machine.PinOutput}) for { led.Low() time.Sleep(time.Second) led.High() time.Sleep(time.Second) } }* fmt is not supported, cannot be used.
2- Compile using tinygo docker image
docker run --rm -v $(pwd):/src tinygo/tinygo:0.9.0 tinygo build -o /src/test1.hex -size=short -target=arduino /src/tinygo/tinygo1.go* The source is in $(pwd)/tinygo/tinygo1.go
3- Upload by avrdude in command line
/Applications/Arduino.app/Contents/Java/hardware/tools/avr/bin/avrdude -C/Applications/Arduino.app/Contents/Java/hardware/tools/avr/etc/avrdude.conf -v -patmega328p -carduino -P/dev/cu.usbserial-1440 -b115200 -D -Uflash:w:$(pwd)/tinygo/test1.hex:i* I got command from Arduino IDE, by enabling verbose mode for upload and run a sample upload
No comments:
Post a Comment