
前回までの小ピンでRISC-V搭載のマイコンCH32V003J4M6から、今回は唐突に小ピンでないArmコアマイコンSTM32へと飛びました。ようやく気付いたからです。WCHのCH32マイコンはST社のSTM32をリスペクト?するあまりHALレベルの関数がほぼほぼ互換にできているということに。STM32で予習したら楽?
デバイス作る人>>デバイス使う人>>デバイスおたく
前回、ESP32版MicroPython上で、MicroPython特有のパッケージ管理ツール mip を走らせんと試みましたが一山超えて二山目で止まってました。今回はその二山目を超えるべくネット接続を追加してみました。あれよあれよと言ううちに一瞬でパッケージのインストールOK、mip 動作してしまったみたいです。
“MicroPython的午睡(117) ESP32版、net接続すれば御勝手mip動作OK” の続きを読む
今回はArm Cortex-M4コアのルネサスマイコンRA4M1を搭載したArduino UNO R4上で、FreeRTOSのQueueを使ってみたいと思います。複数のタスク間で安全にデータを受け渡しできる便利な構造です。データの送受ができることは当たり前なので、今回は送受にどのくらいの時間がかかるのだが目安を観察。 “モダンOSのお砂場(66) UNO R4、ルネサスRA4M1でFreeRTOS、Queue” の続きを読む
酷暑にもめげず、RISC-V搭載の超お求めやすい32ビットマイコンCH32V003を触っています。今回はGPIO端子から割り込みをかけてみます。Arduino IDE環境での作業なので「いつものやり方でOK」かというと微妙に違うんだこれが。前回のようにCH32V用の低レベルなAPIを呼びだす必要はないのですが。
前回はTinyGoでも「フルの」Goの標準ライブラリが立派に使える、ということで「値によって順番をつけて」データを格納してくれるheapを使ってみました。さて今回はその流れで container/list を使ってみます。順番を管理できるデータ構造です。それにどんな型のデータを入れても良いし。よくあるリスト構造だね。 “GoにいればGoに従え(28) container/listをTinyGoで使ってみる” の続きを読む
前回はmpy-crossツールでmpyファイル化したスクリプトを、ストレージに置いて使ってみました。今回は外部のリポジトリからモジュールをダウンロード&インストールしてみる1回目デス。MicroPythonにもモジュール管理ツールあり、ということで mip 試してみたんですけど手元のESP32版では試行錯誤中、トホホ。
前回は小規模なデジタル・ロジックを構築できるCLC機能でした。今回はアナログです、といっても軽いアナログ。ゼロ(グランド)通過を検出するゼロクロス検出機能です。マイコンでは時々必要になるんじゃないかと思います。それこそ商用電源をゼロクロスすれば、50Hz(あるいは60Hz)のタイミングが取り出せるっと。 “PIC三昧(7) Zero-Cross Detection(ZCD)、PIC16F18855” の続きを読む
インタプリタ処理系のMicroPythonとコンパイラのTinyGoを比べるのもどうかと思うのですが。MicroPythonは「フルセットのPythonのライブラリのサブセット」を実装、一方TinyGoは「フルセットのGoのライブラリの一部」を使用可能というスタンスみたいっす。今回は乱雑な順に乱雑な値を入れても出すときは順番にならんでいるヒープ構造をTinyGoで使ってみます。 “GoにいればGoに従え(27) container/heapをTinyGoで使ってみる” の続きを読む
前回はヒープ・メモリの使用状況をちょいと観察しました。上限が小さいRAM領域は貴重。ターゲット機のESP32DevKitCの場合、まだFlash領域の方が余裕があるのでなるべくFlashに「追い出したい」デス。そこで今回はMicroPythonの中間コードにクロスコンパイルしてくれるmpy-crossを使用してみます。