EEPROM
TWELITE 無線マイコンの内蔵EEPROMに対して読み書きを実行します。
内蔵EEPROMはアドレス0x000~0xEFFまでの3480バイトが利用可能です。
先頭部分は設定(インタラクティブモード)に利用されるため、併用する場合は後半のアドレスの利用を推奨します。設定(インタラクティブモード)でどの程度の領域を消費するかは、その実装に依存します。最小限度の設定であっても先頭から256バイトまでは利用されるため、それ以降の利用を推奨します。
メソッド
read()
uint8_t read(uint16_t address)EEPROMからaddressに対応するデータを読み出します。
エラーの検出は行いません。
write()
void write(uint16_t address, uint8_t value)EEPROMからaddressに対してvalueを書き込みます。
エラーの検出は行いません。
update()
write()と同じく書き込みを行いますが、先にaddressにあるデータを読み出してvalueと違う場合のみ、書き込みを行います。EEPROMの書き換え寿命を考慮し、書換回数を減らしたいときに用います。
get_stream_helper()
後述のmwx::streamを用いた読み書きを行うために、ヘルパーオブジェクトを取得します。
mwx::streamインタフェースを用いた入出力
stream_helper ヘルパーオブジェクトを経由して、mwx::streamによる演算子やメソッドを用います。mwx::streamを用いるとuint16_tやuint32_t型といった整数型の読み書き、uint8_tの固定長配列型の読み書き、format()オブジェクトによる書式整形などが可能になります。
このオブジェクトに対して<<演算子などmwx::streamで定義されたインタフェースを利用できます。
.seek()を用いてEEPROMのアドレスを1024に移動しています。
上記では8バイト文字列(00bc614e)、4バイト整数(0x12ab34cd)、16バイトバイト列(HELLO WORLD!...)、1バイト終端文字を書き込んでいます。
.seek()を用いてEEPROMのアドレスを1024に移動しています。
先ほど書き出したデータ列を読み出します。順番に8バイト文字、4バイト整数、16バイト文字列を>>演算子を用いて読み出します。
最終更新