EEPROM
メソッド
read()
uint8_t read(uint16_t address)write()
void write(uint16_t address, uint8_t value)update()
get_stream_helper()
mwx::streamインタフェースを用いた入出力
最終更新
uint8_t read(uint16_t address)void write(uint16_t address, uint8_t value)最終更新
void update(uint16_t address, uint8_t value)auto&& get_stream_helper()
// 戻り値型は長くなるためauto&&と省略しています。auto&& strm = EEPROM.get_stream_helper();
// ヘルパーオブジェクトの型名は長くなるためauto&&により解決しています。strm.seek(1024); // 1024バイト目に移動
strm << format("%08x", 12345678); // 12345678を16進数の8文字で記録
strm << uint32_t(0x12ab34cd); // 0x12ab34cd の4バイトを記録
uint8_t msg_hello[16] = "HELLO WORLD!";
strm << msg_hello; // バイト列 "HELLO WORLD!" を記録(終端なし)
// 結果
// 0400: 30 30 62 63 36 31 34 65 12 ab 34 cd 48 45 4c 4c
// 0 0 b c 6 1 4 e 0x12ab34cd H E L L
// 0410: 4f 20 57 4f 52 4c 44 21 00 00 00 00 ff ff ff ff
// O SP W O R L D ! strm.seek(1024);
uint8_t msg1[8];
strm >> msg1;
Serial << crlf << "MSG1=" << msg1;
// MSG1=00bc614e
uint32_t var1;
strm >> var1;
Serial << crlf << "VAR1=" << format("%08x", var1);
// VAR1=12ab34cd
uint8_t msg2[16]; // "HELLO WORLD!"の文字数
strm >> msg2;
Serial << crlf << "MSG2=" << msg2;
// MSG2=HELLO WORLD!