別件やっていたのでM5 ATOM LiteのMicroPythonはインストールからかなり間が空いてしまいました。気を取り直して(?)ATOM Liteに戻りたいと思います。M5シリーズ用のMicroPythonは、機種固有実装もいろいろある中で、今回使用しているのは ESP32用のgeneric版です。これで動かしておけばM5シリーズ以外にも多種あるESP32のボードに適用可能な筈。
ブロックを積みながら(33) BBC micro:bit、pin入力でevent送出
本稿、昨日予定していた内容なのですが、思わぬ伏兵に足をすくわれ本日となりました。micro:bitの誇る(?)イベントとリアクティブなシステムの応答の実験です。まあ、普段からお世話になっている仕組みではありますが。外部端子でイベント発生と、別件の処理から「イベントなりすまし」もやってみます。 “ブロックを積みながら(33) BBC micro:bit、pin入力でevent送出” の続きを読む
ブロックを積みながら(32) BBC micro:bit、digital read pin
今回は digital read pin、端子から0か1かを読み出すだけの機能について。たまたま目の前にあった「スイッチ回路」をmicro:bitに接続して端子を読み出そうとしたら、スイッチ押しても離しても0なのです。昨日、別なデバイスに接続したときはちゃんと0と1読めてたのに。なぜ? “ブロックを積みながら(32) BBC micro:bit、digital read pin” の続きを読む
IoT何をいまさら(89) Wio Terminal、外部割込みとSAMD51 EIC
前回までWio Terminal搭載のマイコンSAMD51の周辺回路を直接触ってきました。今回はArduino環境でもともと用意されている関数を使って割り込みを使用してみます。そしてそれら関数でどのようにSAMD51のEICが設定されているのか確認します。関数が用意されていない機能へのアクセスの準備ということで。 “IoT何をいまさら(89) Wio Terminal、外部割込みとSAMD51 EIC” の続きを読む
鳥なき里のマイコン屋(132) ラズパイPico、何気に便利なpicotool
あれ、このPico何書き込んであったかな?老人の忘却力とて、先週書き込んだプログラムが何だったのか思い出せない、ということは不可避なんであります。しかし流石Raspberry Pi、素晴らしいツールが用意されていました。picotool。ラズパイPicoのFlashの中のオブジェクトの情報を取り出せるツールです。
MicroPython的午睡(38) ラズパイPicoとDMA3重塔でZ80つづき
前回お手製の「DMA3重塔」を使い、ラズパイPicoのMicroPythonで、Z80(TMPZ84C015BF)のバスの制御権を奪ってプログラムROMの内容のダンプを試みました。しかし何か変。ちゃんとダンプできてる感じがしない。今回再トライ、正常にダンプできるようにはなりました。しかしイマイチ釈然としないです。
“MicroPython的午睡(38) ラズパイPicoとDMA3重塔でZ80つづき” の続きを読む
ブロックを積みながら(31) BBC micro:bit、バックグラウンド実行とループ速度
micro:bit用のビジュアル言語処理系であるMakeCodeを使っていて気になっていたものの、今まで使ったことが無かった奴らがあります。Advancedなカテゴリの一番下の Control タブ内のブロックたちです。面白そうです。そして、これこそMakeCode処理系を支える仕組みの基礎部分にも思えます。
IoT何をいまさら(88) Wio Terminal、SAMD51周波数メータを使う
昨日ラズパイPico(RP2040)の周波数カウンタというものを使ってみました。同様な機能はSAMD51にも備わっています。こちらSAMD51での呼び方は Frequency Meter(FREQM)です。これを使い、外部端子から入力した信号の周波数を計測してみました。設定と適用の限界を見極めておれば、便利な機能であります。
鳥なき里のマイコン屋(131) ラズパイPico、PWM、外部クロック、周波数カウンタ
昨日の投稿にてラズパイPicoのPWM出力を使ってみました(トホホ2つ。)基本的な設定はデフォのまま動作させましたが、PWMのカウントの元になるクロックは何なの、周波数はいくら、などいくつも疑問を持ちました。今回は実験しながらそのあたりをハッキリさせていきたいと思います。
トホホな疑問(39) ラズパイPico、C/C++SDKからのPWM出力でトホホが2つ
何度か使ってラズパイPicoのC/C++SDKの使い方も分かって来たぞ、という感触。今回はPWM出力をさらっと確かめるつもりで作業開始。しかし「さらっと」などと不埒なことを考えると「トホホ」が待っているのです。gpio.hは見つかるのにpwm.hが見つからない?なぜ、ビルドできないじゃん?解決して実機で走らせたら今度はLEDが光らない?トホホ。
MicroPython的午睡(37) ラズパイPicoとDMA3重塔でZ80の制御を奪う
ノスタルジックな理由からZ80の機械語を走らせることができる実機を入手いたしました。しかしデバイス的な理由からそのままでは自分でコードを書いて走らせることができませぬ。そこでラズパイPicoで、ターゲットのメモリを乗っ取って書き換えてしまおう、と計画中。今回はラズパイPicoからターゲットメモリを読み取る(まだバグありそうだけれど)ところまで。 “MicroPython的午睡(37) ラズパイPicoとDMA3重塔でZ80の制御を奪う” の続きを読む
IoT何をいまさら(87) Wio Terminal、SAMD51タイマの外部クロック駆動
MicroChip社のArmコアマイコン、SAMD51の周辺を直接プログラミングしてみています。前回はクロックジェネレータGCLK部分を調べてみました。そして内蔵発振器のクロックを外部端子に出力させて観察しました。今度はタイマ/カウンタを調べてみます。初回は外部端子に与えたクロックでカウンタ動作を行わせたいと思います。
ブロックを積みながら(30) BBC micro:bit、512K SRAMをSPI接続
昨日、micro:bit用のブレークアウトボード(横型)を用意したので、早速活用してみます。接続してみるのはSPI接続の512Kbit SRAM 23LC512です。ハードウエアの接続は簡単でしたが、MakeCodeで読み書き関数を作るところで躓きました。いつもよく文書を読まないで書いているから!直して読み書きOK。
部品屋根性(51) Kitronik、micro:bit用Breakout Board
このところBBC micro:bitに外付けの回路を接続しています。micro:bitの場合、ワニ口で接続する方法もあるのですが限られた端子のみ可能。エッジコネクタから安定して他の信号を取り出すために従来から「縦型」のブレークアウト・ボードを使ってきたのですが、今回は「横型」を追加してみました。英Kitronik社製。