ハードウェアPWMのコードを書き、ビルドまで通った。
必要なヘッダファイルと関数の使い方がわかった。
また、タイマのPWM出力をGPIOのどの端子へ設定するか、マッピングの仕方もわかった。Maixduino は、Arduino のフォームファクターに合わせているため、入出力ピンの数がかなり少ない。注意が必要。
Maixduino · kzono/RISC-V Wiki · GitHub
ピン配置の情報もなんとか見つけた。
自力でコネクタに繋がっているピンを確認するには、公開されている回路図を確認する必要がある。
Maixpy IDE から公開されているデモコード(カメラの画像をLCDへ表示する)の実行を確認できた。
しかし、VSCode + PlatformIO でビルドはできたがダウンロードに失敗した。
```
CURRENT: upload_protocol = kflash
Looking for upload port...
Auto-detected: /dev/ttyUSB0
Uploading .pio/build/sipeed-maixduino/firmware.bin
Traceback (most recent call last):
File "/home/kzoo/.platformio/packages/tool-kflash-kendryte210/kflash.py", line 13, in <module>
import argparse
File "/usr/lib/python3.6/argparse.py", line 89, in <module>
import re as _re
File "/home/kzoo/.platformio/penv/lib/python3.6/re.py", line 142, in <module>
class RegexFlag(enum.IntFlag):
AttributeError: module 'enum' has no attribute 'IntFlag'
*** [upload] Error 1
```
これの原因調査は明日以降。割り込みやPWM等を使うには micropython ではなく C言語でコードを書きたいので、platformio な環境から書き込みに成功したい。
あ、コマンドラインから kflash で書き込めるかを先に検証すべきかも。