MicroPython的午睡(129)M5Stack UIFlow2、「Btn」を押してみる

BtnTest
Joseph Halfmoon

前回はUIFlow2版MicroPythonをつかってM5Stackの表示に触ってみました。今回はディスプレイ下部に並んでいる3個のボタンを使ってみます。前回同様M5モジュールの中のクラスや関数を使うので、ついでにM5モジュール内の「細々」したところにも触っていきたいと思います。API多すぎ。とても触り切れませぬ。

“MicroPython的午睡(129)M5Stack UIFlow2、「Btn」を押してみる” の続きを読む

PIC三昧(21) TIMER0、外部クロックをカウント、PIC16F18855

TIMER0_DUT
Joseph Halfmoon

前回は内部のクロックを外部出力するCLKREFモジュールを練習しました。今回は外部からクロックを入力して数えてみます。PIC16F18855はタイマ(カウンタ)が充実、0から6まで7本もあります。今回はそのうちのTIMER0を使って外部クロックをカウント、周期的にタイマ0割り込みを発生させてみます。

“PIC三昧(21) TIMER0、外部クロックをカウント、PIC16F18855” の続きを読む

GoにいればGoに従え(41) ラズパイPico、ArmのSystick使えるの?

Systick100kHz
Joseph Halfmoon

前回は周辺装置の割り込みの「元締め」NVICの動作状況を見てみました。しかしNVICを経由しないArmコア固有の例外、システム割り込みの中にSysTickというものも含まれているのです。プロセッサクロックで動作している高速なタイマです。今回はこいつが使えるのか否かを確かめてみます。 “GoにいればGoに従え(41) ラズパイPico、ArmのSystick使えるの?” の続きを読む

STM32三昧(2) Cube IDEでGPIOから割り込み、Nucleo

GPIO_CONFIG
Joseph Halfmoon

STMicroelectronics社純正開発環境Cube IDEを使用し、STM32のHAL(hardware abstraction layer)を思いつくまま試用中です。前回はGPIO入力とprintf出力を使えるようになりました。今回はソフトウエアでのGPIOポーリングを割り込み入力に変更してみます。 “STM32三昧(2) Cube IDEでGPIOから割り込み、Nucleo” の続きを読む

レトロな(6) 8080, Z80, 8086を比べる、レジスタ編

8080_Z80_8086_REGS
Joseph Halfmoon

前回はピン配置のみから8080、8085、Z80のハードウエアの違いというか、設計思想?について勝手なことを書きました。今回はレジスタ一覧から8080、Z80そして8086について語りたいと思います。8085が居なくなった?レジスタ的には8080と8085はクリソツだからっす。代わりに16ビット8086を比較すると。

“レトロな(6) 8080, Z80, 8086を比べる、レジスタ編” の続きを読む

MicroPython的午睡(128)M5Stack UIFlow2、Displayを探る?

UIFlow2_Display_Trial
Joseph Halfmoon

前回、UIFlow2版のMicroPython、ThonnyIDEからも普通に使えることを確かめました。ビジュアルプログラミングは別シリーズなのでこちらではあくまでテキストベースでソースを書いていきたいと思います。素のESP32版MicroPythonと比べると独自拡張強力。今回はディスプレイ周りを探っていきたいと思います。

“MicroPython的午睡(128)M5Stack UIFlow2、Displayを探る?” の続きを読む

PIC三昧(20) CLKREF、参照クロックの外部出力、PIC16F18855

PIC16F18855_PackageView
Joseph Halfmoon

PIC16マイコン搭載の周辺回路を脈絡もなく思いつくまま気の向くままの順番で練習してきました。ここで「なんの一番基本的なモジュール」を練習してないことに気づきました。内部のクロック信号を外部にお知らせできるCLKREFモジュールです。クロックを出力するだけ、地味だあ~。でも単純だけれどもよく考えられてる?

“PIC三昧(20) CLKREF、参照クロックの外部出力、PIC16F18855” の続きを読む

GoにいればGoに従え(40) ラズパイPicoの割り込み、その1、イネーブルなのは誰?

RPICO_INT_ENABLE
Joseph Halfmoon

前回はラズパイPicoのハードウエアの「もそっと下」のところをTinyGoから制御するためにハード固有のレジスタに直接アクセスしてみました。クロックとか電源とか最初に見ておきたい部分はいろいろあるのですが、今回は割り込みをみてみます。TinyGoのランタイムがデフォルトで割り込みイネーブルにしている周辺はあるのかしら。
“GoにいればGoに従え(40) ラズパイPicoの割り込み、その1、イネーブルなのは誰?” の続きを読む

STM32三昧(1) Cube IDEでHello World+GPIO入力、Nucleo

NucleoF072RB
Joseph Halfmoon

STMicroelectronics社純正開発環境Cube IDEを別件にて再インストール。Cube IDEとSTM32マイコンのHALを練習するためにシリーズ「STM32三昧」始めることにいたしました。それにしてもHAL充実、つまりはAPI多すぎ。まず今回はGPIO入力とprintfを使えるようにするところから。

“STM32三昧(1) Cube IDEでHello World+GPIO入力、Nucleo” の続きを読む

MicroPython的午睡(127)M5Stack UIFlow2、Thonnyで接続

uiflow2_Thonny
Joseph Halfmoon

前回ブラウザ上で動作するWeb開発環境を使ってM5Stack上のUIFlow2.0 Micropython処理系を動作させてみました。今回は使い慣れたThonnyIDEにUIFlow2.0搭載のM5Stackを接続してみます。前々回まで使っていた「素の」ESP32用MicroPythonとはどう違うの?

“MicroPython的午睡(127)M5Stack UIFlow2、Thonnyで接続” の続きを読む

PIC三昧(19) TEMP、チップの温度をADCで測定、PIC16F18855

ADCresultTable_STD
Joseph Halfmoon

今回はオンチップの温度を測るTEMPERATURE INDICATOR MODULEです。偉そうなお名前ですが、やっていることは温度依存性がある筈のダイオードの電圧ドロップをADCで測っているだけです。単純明快、な割には制御はフェイント。独立したモジュールというより、2つのモジュールに「間借り」している雰囲気。 “PIC三昧(19) TEMP、チップの温度をADCで測定、PIC16F18855” の続きを読む

レトロな(5) 8080, 8085, Z80を比べる、ハードウエア編

8080_8085_Z80
Joseph Halfmoon

前回までCP/Mエミュレータで古のデジタルリサーチ社の遺産である8080アセンブラやデバッガを使用。「今時の若者というか中年も」8080とかZ80のお名前は知っている。でも知らないことも多いことに気付きましたです。当然か。そこで今回は老人が蘊蓄を垂れさせていただきます。お前がそんなこと言うかと怒られそうだけれども。
“レトロな(5) 8080, 8085, Z80を比べる、ハードウエア編” の続きを読む

モダンOSのお砂場(77) UNO R4でFreeRTOS、再帰的ミューテックス

MutexR_ResultsMaker
Joseph Halfmoon

前回ミューテックスを使ってみたので、今回は一歩すすんでリカーシブなミューテックスです。何に一歩進んだのか分からんです。リカーシブにしなければならない理由をチョイと思いつかない凡人です。でもまリカーシブなAPIは存在しているので、使ってみます。確かに再帰呼び出しできますなあ。ピッタンコな応用例を知りたい、私は。 “モダンOSのお砂場(77) UNO R4でFreeRTOS、再帰的ミューテックス” の続きを読む

GoにいればGoに従え(39) ラズパイPicoでもレジスタ直接アクセス。最初はCPUID

Rpico_Reg0
Joseph Halfmoon

TinyGo言語は、ハード依存性のあるMachineパッケージを使っていてもピン名を変更するくらいで別なマイコンへ移植可能なことが多くお楽。しかしディープに機種依存なハードを使うためにはハードウエアを直接操作しないとなりません。そんなときでもunsafeなポインタは「隠蔽」可能であります。今回はCPUID読み出し。

“GoにいればGoに従え(39) ラズパイPicoでもレジスタ直接アクセス。最初はCPUID” の続きを読む