Arudino UNO R3(その4)
Arudino UNO R3の話ではないが
・シリアルRAMはどの程度の周波数で動くのか?
というのが残っていた。
SPI-SRAMはこちら。
http://arms22.blog91.fc2.com/blog-entry-403.html
スイッチサイエンスで購入。
電源が3.3Vなので要注意。インターフェイスはコンバータが入っている。
32Kらしいので0x7FFFまでに思うが0x8000みたいなサンプルが出てくる。
0x8000=0x0000なのかしら?
そこは気にせずベンチを書く。
1024byteの書き込みで7pinがHigh、読み込みで7pinがLowなのでオシロで観測する。
#include
#include
SPISRAM myRAM(10); // CS pin
int out_pin = 7;
void setup()
{
pinMode(out_pin, OUTPUT);
digitalWrite(out_pin, LOW);
Serial.begin(115200);
SPI.begin();
SPI.setBitOrder(MSBFIRST);
SPI.setClockDivider(SPI_CLOCK_DIV2);
SPI.setDataMode(SPI_MODE0);
}
void loop()
{
int i;
digitalWrite(out_pin, HIGH);
//Byte write...
for (i = 0; i < 1024; i++){
myRAM.write(i,(byte)(i &0x00FF));
}
digitalWrite(out_pin, LOW);
//Byte read...
for (i = 0; i < 1024; i++){
myRAM.read(i);
}
}
結果はReadもWriteも25msだった。なので1Byte=24.4us。ってことは40KHzのような。
ちょっと微妙な感じ。
まあオシロに使ったとしても、40KHz以上のものは作れない。2chとすると20KHzになる。今の倍速は出そうだが...。
何もない今の方が美しいって気もする。
ってことはそれ以外の用途になるのか...。
コメントはありません