PLANET-Q EEPROM Library
Dependents: IZU2020_AVIONICS IZU2020_POST_PROCESS IZU2020_AVIONICS
PQEEPROM.h
- Committer:
- tanahashi
- Date:
- 2019-12-17
- Revision:
- 2:bb2a2a6b2702
- Parent:
- 1:fccbd0a70492
- Child:
- 3:c7590a58d44a
File content as of revision 2:bb2a2a6b2702:
#ifndef PQEEPROM_H_ #define PQEEPROM_H_ /** * EEPROM 24LC1025のライブラリ * @note 1つにつき0x000000~0x01FFFFまでのアドレスが指定できます * @note 2つ使用する場合は0x000000~0x03FFFFまでのアドレスが指定でき、最大4つ同時に使用できます * @note 1ページは128バイトです * @note ページをまたぐような書き込みは危険なのでしないこと * @note 受信バッファは128バイトです * @code #include "mbed.h" #include "PQEEPROM.h" Serial pc(USBTX, USBRX, 115200); I2C i2c(p9, p10); EEPROM eeprom(i2c); int addr; char data[128]; char buff[128]; int main() { addr = 0x000000; for(int i = 0; i < 128; i++) { data[i] = 0xFF; } eeprom.write(addr, data, 128); eeprom.read(addr, buff, 128); for(int i = 0; i < 128; i++) { pc.printf("%x ", buff[i]); } } * @endcode */ class EEPROM { private: I2C *_i2c; int _addr; char cmd[130]; char buff[128]; public: /** * @param i2c I2Cのインスタンスへの参照 */ EEPROM(I2C &i2c); /** * 連続書き込み * @param addr 書き込みアドレス * @param data 書き込むデータの配列(最大128バイト) * @param size 書き込むデータのサイズ */ void write(int addr, char *data, int size); /** * 連続読み込み * @param addr 読み込みアドレス * @param data 読み込むデータの配列(最大128バイト) * @param size 読み込むデータのサイズ */ void read(int addr, char *data, int size); }; #endif