ROMライタ完成
http://ntus.net/j/i2clpt/index.htm
を参考にして2線式シリアルEEPROMのROMライタを作った。一応データシートに合わせてSCLもプルアップするように変更しておいた。
家にあったものだけで作ったので製作費0円。
パラレルポートの配線は
- D0〜D1は適当なデータピン
- ACKはACK等の適当なステータスピン
- GNDはパラレルポートのGNDピン
に。
それから、当然書き込みソフトが無いので作った。
http://mad-projects.iobb.net/svn/misc/hardware/rom_writer.hpp
まだすごくシンプルだけど、次の様に使う。ROMに"Hello World\0"というデータを書き込んで、次にそれを読み込んでみた。
#include "rom_writer.hpp" #include <iostream> using namespace std; int main(){ // コンストラクタでピンの配置を指定 mad::rom_writer writer("/dev/parport0", 3, 2, 1, 6); const unsigned char* data = (const unsigned char*)"Hello World"; cout << "Writing \"Hello World\" ... " << endl; writer.write(0, data, strlen((const char*)data)+1); cout << "End." << endl; unsigned char buf[50]; cout << "Reading ... "; writer.read(0, buf, 50); cout << '"' << buf << '"' << endl; cout << "End." << endl; return 0; }
実行結果。ハードウェアで初めてHello Worldできて感動したので写真で(笑)
データシート通り作れば結構簡単に出来るもんだと思った。