#はじめに
初回に続き、今回はTinyGoとMacとの間でシリアル通信してみる
#事前確認
###MacでTTYデバイスを確認
$ ls /dev/tty.usb* [/Users/takaaki]
crw-rw-rw- 1 root wheel 18, 40 3 8 15:55 /dev/tty.usbmodem14101
Adafruitが繋がっているTTYデバイス名を確認しておく
#実行コード
main.go
package main
import (
"time"
)
func main() {
i := 0
for {
time.Sleep(time.Millisecond * 1000)
println("Counter: ", i)
i++
}
}
#ビルド&書き込み
###パターン1. Macでビルド&書き込み
MacにインストールしたTinyGoを使ってビルドから書き込みまで一気に実行
$ tinygo flash -target trinket-m0 ./main.go
###パターン2. Dockerでビルド&Macから書き込み
Mac上でDockerを使ってビルドして、書き込みはMacから実行
Trinket M0はUSBマスストレージとして扱えるので、ビルドで生成されたUF2ファイルをドラッグ&ドロップで書き込み
$ docker run --rm -v $(pwd):/src -w /src tinygo/tinygo:0.12.0 \
tinygo build -o /src/flash.uf2 -size=short -target trinket-m0 ./main.go
#TinyGoとシリアル接続
$ screen /dev/tty.usbmodem14101
確認しておいたTTYデバイスに対してscreenコマンドで接続
#実行結果
Counter: 0
Counter: 1
Counter: 2
Counter: 3
Counter: 4
Counter: 5
接続を解除するにはCtrl+aを押した後にkを押しReally kill this window [y/n]
というメッセージが表示されたらyを押す