
前回に続きARM64の算術演算命令のエイリアスを動かしていきたいと思います。テーマはNegate、「符号反転」命令です。「2の補数」世界なので符号ビットの操作では終わりませんよ。上の表をみていただけばお分かりのとおり、NEG、NEGS、NGC、NGCSと4命令もあります。まあみんなSUB系命令のエイリアスですが。
デバイス作る人>>デバイス使う人>>デバイスおたく
前回、ラズパイ3機からとりだしたI2C配線を5V化するところの配線の接続確認で疲れてハードだけで終わってました。今回は動作確認用のソフトウエア(Python スクリプト)を走らせてIO Expander MCP23017が動作OKなことを確認します。動作確認方法は吉例LEDの点滅です。
このシリーズ、1か月ほど間が空いてしまいました。老人の忘却力とて、1か月もお休みするとMaximaの使い方も危ないです。か細い記憶をたどりつつ、前回の流れで今回は固有値と固有ベクトルの計算、そして対角化へと入っていきとうございます。みんな大好き P-1AP ってやつ?
ATSAMD21のタイマ・カウンタ機能、インプット・キャプチャとか周波数計測などに触ってみるために、今回からイベントというものを調べていきたいと思います。いつも泥縄、ソースを書きながらデータシートを眺めているので、今回は先にデータシートを読んでみた編。でも端子からタイマ・カウンタまでのイベントの経路の長さ。。。
前回 HTTP in/outノードを試用してみましたがinとoutの間に何も処理を挟まなかったのでそれらしくありませんでした。今回はtemplateノード一つ挟んで、HTTPらしくGETして、POSTして、とやって見たいと思います。まあ、Node-REDで普通のWebサイトを作る気はないのですが、やれば出来る、と。
前回、TinyGoのATSAMD21上でのRTC設定についてホンワカしたことを書いてしまったので今回は図入りで補足させていただきます。また、RTC内蔵の「デジタル歩度調整機能」の制限(なぜTinyGoの使い方とは両立しないか)についても述べさせていただきます。結局時計にしたければアナログ歩度調整してからなのよ。。。
前回ようやく終わったadd系(足し算)の次はsub系(引き算)かというと似たことを繰り返しても仕方ないなと思いました。そこで算術演算命令の中で「微妙な」cmp系へ行きたいと思います。RISCあるあるの「実はcmp命令なんて無い」というオチの命令群です。勿論ちゃんと動作します。裏ではsub系命令が暗躍?していますぞ。
前回、白色雑音(ホワイトノイズ)の生成に使うLFSR(Liner Feedback Shift Register)を「わざわざ」ゲートレベルの回路図でシミュレーション。LTspice使う荒業?です。今回は三上先生のプログラムを実機STM32マイコン上で動作させてみます。Cで書けばLFSRなど何ということもない?
Go言語でMCUのコードを生成できるTinyGoでATSAMD21マイコンの周辺回路を勉強しております。前回までunsafeなポインタを使って直接アクセスする不作法をしてました。今回は machine モジュールを使ってTCC1からPWM波形を出力してみます。制御は簡単なのですが、データシートを読むのがメンドイ。