micro:bitで矩形波を出力してみる(その2:Pythonエディター)

micro:bit矩形波を出力しようとしています。
前回はMakeCodeエディターでプログラミングしてみましたが、
今回はPythonエディターでプログラミングしようと思います。
stacked-tip.hateblo.jp

まずは1ms、周期にして500Hzの矩形波を出力してみます。
Pythonコードは以下のとおり。
f:id:stacked-tip:20190928225110p:plain:w400

結果はこちら。
f:id:stacked-tip:20190928221335j:plain:w400

うーん。時間が長いところと短いところがありますね。

f:id:stacked-tip:20190928221523j:plain:w400
f:id:stacked-tip:20190928221607j:plain:w400

短いところは1.1ms、長いところは4.9msですか。
この4.9msというのはループの処理なのでしょうか。

f:id:stacked-tip:20190928222024j:plain:w400
でも0.24msという変な場所もあるんですよね。
割り込み処理でも入っているのかな?

次は10ms、周期にして50Hzの矩形波を出力してみましょう。
Pythonコードは以下のとおり。
f:id:stacked-tip:20190928224813p:plain:w400

結果はこちら。
f:id:stacked-tip:20190928222732j:plain:w400
f:id:stacked-tip:20190928222858j:plain:w400
ぱっと見るといい感じ?と思いましたが、
12ms前後で揺れています。
2~4msの遅延が発生していますね。

Pythonエディターで組んでも、それくらいの遅延が発生してしまいます。

続き
micro:bitはPWM出力ができるようですよ。
stacked-tip.hateblo.jp