0
0

More than 3 years have passed since last update.

Adafruit Trinket M0でTinyGo(シリアル通信編)

Last updated at Posted at 2020-03-08

はじめに

初回に続き、今回は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を押す

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0