PIC三昧(9) FVR(固定参照電圧源)を使ってみる、PIC16F18855

FVR_setting
Joseph Halfmoon

前回は内蔵アナログコンパレータを使って外部電圧2つを比較してみました。今回はアナログコンパレータの入力電圧の一方を内蔵のFVR(FIXED VOLTAGE REFERENCE)としてみます。ありがちな1.024Vとその2倍、4倍の電圧が内部のADC、DACそしてコンパレータで参照できるようになってます。便利。
“PIC三昧(9) FVR(固定参照電圧源)を使ってみる、PIC16F18855” の続きを読む

MicroPython的午睡(118) ESP32版、PyPIからulp開発環境インストール

localStorage
Joseph Halfmoon

前回はパッケージ管理ツール mip に勝手改変入れてESP32のMicroPythonで動作することを確認。今回はThonnyのパッケージ管理機能を使ってPyPIからパッケージをダウンロードしてインストールしてみます。PyPIにはいろいろあります。今回インストールしたのはESP32のulpの開発環境。なんじゃそりゃ?
“MicroPython的午睡(118) ESP32版、PyPIからulp開発環境インストール” の続きを読む

モダンOSのお砂場(67) UNO R4、ルネサスRA4M1でFreeRTOS、Delay

delayApiDiag
Joseph Halfmoon

FreeRTOSにはある期間の間Taskの実行をブロックするDelayの名がつくAPIが3種あります。前回まで一番お手軽なvTaskDelay(引数も一つしかないし)ばかりを使ってきたのですが、今回は3種の違いについて勉強したいと思います。その上で実機上で動かして実感してみると。軽負荷だとあまり差が見えないけれど。

“モダンOSのお砂場(67) UNO R4、ルネサスRA4M1でFreeRTOS、Delay” の続きを読む

小ピンマイコンの酷暑(4) CH32Vのモデル?STM32のタイマを使ってみる

NucleoF072RB
Joseph Halfmoon

前回までの小ピンでRISC-V搭載のマイコンCH32V003J4M6から、今回は唐突に小ピンでないArmコアマイコンSTM32へと飛びました。ようやく気付いたからです。WCHのCH32マイコンはST社のSTM32をリスペクト?するあまりHALレベルの関数がほぼほぼ互換にできているということに。STM32で予習したら楽?

“小ピンマイコンの酷暑(4) CH32Vのモデル?STM32のタイマを使ってみる” の続きを読む

GoにいればGoに従え(29) container/ringをTinyGoで使ってみる

mb20ringResult
Joseph Halfmoon

前々回heap前回listとGoの標準ライブラリのcontainerを練習。今回はcontainerの最後の一つ ring です。しかし似たお名前のRingBufferがTinyGoのMachineパッケージの中に存在。今回は2つを比較してから、標準ライブラリのringの方をmicro:bit上で練習してみます。

“GoにいればGoに従え(29) container/ringをTinyGoで使ってみる” の続きを読む

MicroPython的午睡(117) ESP32版、net接続すれば御勝手mip動作OK

mipWorks
Joseph Halfmoon

前回、ESP32版MicroPython上で、MicroPython特有のパッケージ管理ツール mip を走らせんと試みましたが一山超えて二山目で止まってました。今回はその二山目を超えるべくネット接続を追加してみました。あれよあれよと言ううちに一瞬でパッケージのインストールOK、mip 動作してしまったみたいです。
“MicroPython的午睡(117) ESP32版、net接続すれば御勝手mip動作OK” の続きを読む

PIC三昧(8) アナログ・コンパレータを使ってみる、PIC16F18855

CMP_DUT_EC
Joseph Halfmoon

前回はZCD(ゼロクロス検出器)で割り込みかけてみました。今回はアナログ入力電圧2つを比較する内蔵コンパレータを使ってみます。なにか基準電圧を上回ったら信号を出力したりできるもの。結果で割り込むことも可能ですが、直接外部出力信号とすることも可能。外付けオペアンプなど不要で済むのはありがたいかも。

“PIC三昧(8) アナログ・コンパレータを使ってみる、PIC16F18855” の続きを読む

モダンOSのお砂場(66) UNO R4、ルネサスRA4M1でFreeRTOS、Queue

UNOR4_FreeRTOS_queue_diagram
Joseph Halfmoon

今回はArm Cortex-M4コアのルネサスマイコンRA4M1を搭載したArduino UNO R4上で、FreeRTOSのQueueを使ってみたいと思います。複数のタスク間で安全にデータを受け渡しできる便利な構造です。データの送受ができることは当たり前なので、今回は送受にどのくらいの時間がかかるのだが目安を観察。 “モダンOSのお砂場(66) UNO R4、ルネサスRA4M1でFreeRTOS、Queue” の続きを読む

小ピンマイコンの酷暑(3) CH32V003、外部端子から割り込みをかけてみる

CH32V_EXTINTR_SCHEMATIC
Joseph Halfmoon

酷暑にもめげず、RISC-V搭載の超お求めやすい32ビットマイコンCH32V003を触っています。今回はGPIO端子から割り込みをかけてみます。Arduino IDE環境での作業なので「いつものやり方でOK」かというと微妙に違うんだこれが。前回のようにCH32V用の低レベルなAPIを呼びだす必要はないのですが。

“小ピンマイコンの酷暑(3) CH32V003、外部端子から割り込みをかけてみる” の続きを読む

Lispと一緒(3) uLisp、Wio Terminalのボタンをセンスする

button1EC
Joseph Halfmoon

前回は中身ばかりで外まで手が伸びませなんだ。今回はマイコンで走るuLispならではの外部入力も含めてみます。まずはWio Terminalの上端面に3つならんでいる「青いユーザーボタン」をセンスできるようにしてみます。LCDパネルに向かって右からボタン1,ボタン2、ボタン3であります。でも端子名は何?

“Lispと一緒(3) uLisp、Wio Terminalのボタンをセンスする” の続きを読む

GoにいればGoに従え(28) container/listをTinyGoで使ってみる

mb20listSRC
Joseph Halfmoon

前回はTinyGoでも「フルの」Goの標準ライブラリが立派に使える、ということで「値によって順番をつけて」データを格納してくれるheapを使ってみました。さて今回はその流れで container/list を使ってみます。順番を管理できるデータ構造です。それにどんな型のデータを入れても良いし。よくあるリスト構造だね。 “GoにいればGoに従え(28) container/listをTinyGoで使ってみる” の続きを読む

MicroPython的午睡(116) ESP32版、mip動かんぜよ?

testFunctoolsReduceResults
Joseph Halfmoon

前回はmpy-crossツールでmpyファイル化したスクリプトを、ストレージに置いて使ってみました。今回は外部のリポジトリからモジュールをダウンロード&インストールしてみる1回目デス。MicroPythonにもモジュール管理ツールあり、ということで mip 試してみたんですけど手元のESP32版では試行錯誤中、トホホ。

“MicroPython的午睡(116) ESP32版、mip動かんぜよ?” の続きを読む

PIC三昧(7) Zero-Cross Detection(ZCD)、PIC16F18855

PIC16F18855_ZCD_DUT
Joseph Halfmoon

前回は小規模なデジタル・ロジックを構築できるCLC機能でした。今回はアナログです、といっても軽いアナログ。ゼロ(グランド)通過を検出するゼロクロス検出機能です。マイコンでは時々必要になるんじゃないかと思います。それこそ商用電源をゼロクロスすれば、50Hz(あるいは60Hz)のタイミングが取り出せるっと。 “PIC三昧(7) Zero-Cross Detection(ZCD)、PIC16F18855” の続きを読む

モダンOSのお砂場(65) FreeRTOSのコルーチン、Deprecatedとな!

coroutineNOTE
Joseph Halfmoon

ソフトウエアは何時か滅びるとの理に思いはせる今回です。前回、Arduino UNO R4にてFreeRTOSのコルーチン動かしてみました。Configいじったりしてチョイ面倒だったです。しかしFreeRTOSのドキュメントを見たならば Deprecatedと表示がでてました。いつの間に?よく読んでなかった私が悪い。

“モダンOSのお砂場(65) FreeRTOSのコルーチン、Deprecatedとな!” の続きを読む