
懐かしいZ80的命令を持つ、うさちゃん印のRabbit4000を使用中です。前回「売り」のEthernetから始めてしまい、新マイコン入手時の吉例を飛ばしてしまいました。今回は、Rabbit用の言語処理系 Dynamic Cの特長の一つ、Cooperative Multitaskingを使って「Lチカ」してみます。
デバイス作る人>>デバイス使う人>>デバイスおたく
懐かしいZ80的命令を持つ、うさちゃん印のRabbit4000を使用中です。前回「売り」のEthernetから始めてしまい、新マイコン入手時の吉例を飛ばしてしまいました。今回は、Rabbit用の言語処理系 Dynamic Cの特長の一つ、Cooperative Multitaskingを使って「Lチカ」してみます。
第16回でヒューロン湖の水位変動データを扱ってみましたが、今回はナイル川の水量データです。1871年から1970年までの100年間のものです。その最大水量1370×108立方m/yearとな。エジプト南端のアスワンでの値のようです。そういえば1970年、アスワン・ハイ・ダムの完成の年らしいです。
前回は浮動小数点数の最大最小を求める命令でした。今回は、浮動小数点数の比較命令です。比較した結果として条件分岐することが多いと思います。RISC-Vには分岐フラグが存在せず、条件分岐は整数レジスタの中の値を分岐命令で判定します。このため浮動小数の比較命令の結果は整数レジスタに書き込みとなります。
LTspiceのお世話になっている割には使い方が良く分からないままです。最近もアナデバ様の部品キットADALP2000所蔵のMOSFETをLTspiceしてみよ、と。しかしLTspiceには該当部品のMOSモデルパラメータはありませんでした。Webを漁ってSUBCKT定義を見つけたのですが、どう設定するの?
前回がPWM出力だったので、今回は逆に入力インターバルをタイマAPIで測定してみました。入力は割り込み受け、人間がボタンを押す想定なので精度的にはいい加減な方法です。まあ、とりあえずボタンを押す時間間隔は測れたと。また、前回と異なり今回はオブジェクトコードの作成にWebベースのMbed Compilerを使ってみます。
うさちゃん印のRabbit4000、Z80に似た8ビットの命令セットを持つちょっと古いけれども強力なマイコン、を手に入れてインストールをし動作確認をいたしました。今回から、少しづつ「うさちゃん印」を動かしていきたいとおもいます。まずは「売り」の機能Ethernet I/Fの動作確認から。外からPingしてお返事を確認してみます。
RISC-Vは、RISCの中でもシンプルで「絞り込んだ」命令セットでありますが、浮動小数点数を扱う命令結構多いんじゃないかい。まあ面倒くさいものを扱うので、いたしかたないか。RISC-Vのせいではないですな。前回は積和演算命令でしたが今回は最大、最小求める命令です。
今回は前々回のBlendモード再びです。その上、Datasheetのサンプルプログラムほぼほぼそのままです。何といっても中の人の書いたサンプルプログラム流石すぎます。Blendモードで補間をするついでにデータ配列を舐めるためのポインタアドレスまで作ってました。私のような凡人には考えつかないテクであります。