レトロな(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” の続きを読む

鳥なき里のマイコン屋(175) STM32、Cube IDEをインストールで吉例Lチカ

Pinout
Joseph Halfmoon

STMicroelectronics社純正の開発環境のCube IDE、昔一度使ったことがありましたが、その後ご無沙汰。久しぶりに使ってみようと思ったのは、MicroChip社のMPLAB X IDEの影響です。やっぱメーカ純正IDEは「痒い所に手が届く」感が強いです。そこでSTM32でもCube IDEしてみるかと。
“鳥なき里のマイコン屋(175) STM32、Cube IDEをインストールで吉例Lチカ” の続きを読む

MicroPython的午睡(126)M5Stack UIFlow2対応、MicroPythonを書き込む

M5StackGrayRevivalupd
Joseph Halfmoon

前回までESP32用「素の」MicroPythonをESP32 DevkitC上で練習。今回より同じESP32用のMicroPython処理系といっても「一味違う」M5Stack社のUIFlowを使用してみます。M5Stack系のデバイスはどんどん新しいのが出てますが、使用するのは基本のM5Stack Grayです。

“MicroPython的午睡(126)M5Stack UIFlow2対応、MicroPythonを書き込む” の続きを読む

PIC三昧(18) CRC、データ配列のCRC8をハードで計算、PIC16F18855

CRC_EC
Joseph Halfmoon

前回は書き変えに便利で安心EEPROMを使ってみました。今回はFlashメモリのCRCをCPU使わずに計算することもできるCRCモジュールを使用してみます。Flashに対して使用すれば「改ざん」なども検出可能かも。ただし、今回はデータメモリの中の配列のCRC8をCPU制御で計算してもらいます。設定が分かり難い? “PIC三昧(18) CRC、データ配列のCRC8をハードで計算、PIC16F18855” の続きを読む

モダンOSのお砂場(76) UNO R4でFreeRTOS、ミューテックスを使う一手間

Mutex_Results
Joseph Halfmoon

前々回バイナリ・セマフォ、前回はカウンティング・セマフォでした。今回ミューテックスで気づきました。手元のFreeRTOS、デフォルトではミューテックス使えるようになってません。ミューテックスって言ったら排他制御業界(そんな業界あるのか?)の大スターじゃないかい。例によってNotification推しのためだろうけど。
“モダンOSのお砂場(76) UNO R4でFreeRTOS、ミューテックスを使う一手間” の続きを読む