外付けSRAMとuSDに対応
投稿日: Mar 25, 2017 6:8:50 PM
ほかにもいろいろ実装
SPI、I2Cにも対応。(未チェック)
外付けSRAMとuSDに対応したことでc8a同様、Arduinoのファームウェアをいじることなくプログラムを変更することが出来るようになりましたー。
が、c8aの時は最初から外付けSRAM使って居たので気づかなかった部分に気づきました。
SPIとはいえやっぱりシリアルインターフェイス。速度が内蔵SRAMよりけっこう遅くなります。
メモリから命令を読み込んで実行するわけなのでメモリ読み込みの速度がそのまま実行速度に反映されます。
ので、1ms待つのに大体内蔵SRAMではnopを25回呼んでいたのですけど、外付けSRAMでは4回も呼べばだいたい1msくらいになります(どっちも厳密に計ってないのでかなりずれてます)
遅くてもいいからプログラムの自己書き換えができるVMが欲しい。というのがあるので、全然問題ないんですけど、結構速いじゃんすごいじゃん!の後なのですこしテンションが下がります。うーん。
大体2000回ループでnop呼んで0.5秒なので、waitルーチン1回ループで0.5msってところでしょうか。
まあ、問題ないくらいの速度です。十分十分。
またしても実装わすれ発覚、そして割り込み
条件付きCALLの実装わすれがありましたので実装しておきました。
これで残りはEIとDIだけ。
割り込み処理はいろいろ考えているんですが、Serial、GPIOのインタラプト信号、I2Cスレーブ動作。タイマー。
あたりかなぁ。と思ってます。
省電力なんかを意識するといろいろ出てくるけど。どうなんでしょうね。
小さいコンピュータを作りたい、というあたりでのこれではあるけど、あんまりパソコンパソコンせず、使い終わったらバシバシ電源切っちゃうっていう、昔のパソコン(マイコン)でも出来なかった手軽さを追求したほうがいいので下手に省電力な仕組みいれるより安心して電源切れるほうがいいのかなとかなんとか。
まあ、あれです。
割り込みは当初いらないかなと思ってたけどあってもいいなって感じになってきてます。
もう少し考えてみる。