設定用スイッチとして、「設定」「アップ」「ダウン」の3種用意しました。これを組み合せ、READ/WRITEやBYTE/BLOCKの設定、アドレ スの設定を行うことにします。表示はLCDへ設定されたモード、アドレス、データの内容、あるいはダンプされた8バイトのメモリーをヘキサデシマルで表示 します。
電源を入れると"i2c EEPROM TEST"メッセージと共に"R_Byt #Addr #Dt"と表示します。ここでは設定スイッチしか受け付けられません。設定スイッチを押すとカーソルは2字目に移り、4つのモード(W_BYT、 R_BYT、W_BLK、R_BLK)をアップ、ダウンで選びます。
モード設定が終わると設定ボタンを押します。次にアドレスの#へカーソルが移ります。ここではちょっとかったるいですが、アップダウンでアドレスを加減します。
ここで設定を押すとWRITEコマンドの場合は次のデータの#にカーソルが行き、アップ、ダウンでデータ値を設定します。READ系の場合は一旦カーソル は最終文字に飛んで、その後データを表示し、$マークを表示します。ブロックの場合は指定アドレスを先頭に8バイトを連続し読み込み1行目に#を区切り マークにして表示します。
WRITE系の場合は出たー設定後設定ボタンで、一旦最終文字までカーソルが行きますが、更にもう一度設定を押せば書込みを行います。書込み終了をセンスし$マークを表示します。
ブロックWRITEでは指定アドレスから8バイト分を指定データで埋めます。ただし、この24LC64は16バイトブロックなので、アドレスが該当の16バイトブロック境界を越えるとブロック先頭にラップアラウンドします。
ブロックREADでは指定アドレスから8バイト分を1行目に#マークを区切りにしてヘキサデシマルでダンプ表示します。READの方は16バイトブロックアドレスのラップアラウンドの影響は出ず、指定アドレスから単に連続する8バイトになります。