EEPROMのライブラリ

Dependents:   Hybrid_IZU2021_MAIN_OS5 Hybrid_IZU2021_POST_PROCESS Hybrid_IZU2021_MAIN

Committer:
tanahashi
Date:
Tue Dec 15 15:33:33 2020 +0000
Revision:
0:2b9b9c1e98d9
Child:
1:17aac6418a06
first commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
tanahashi 0:2b9b9c1e98d9 1 #ifndef PQ_EEPROM_H
tanahashi 0:2b9b9c1e98d9 2 #define PQ_EEPROM_H
tanahashi 0:2b9b9c1e98d9 3
tanahashi 0:2b9b9c1e98d9 4 /**
tanahashi 0:2b9b9c1e98d9 5 * 3軸高加速度センサADXL375のライブラリ
tanahashi 0:2b9b9c1e98d9 6 * @code
tanahashi 0:2b9b9c1e98d9 7 #include "mbed.h"
tanahashi 0:2b9b9c1e98d9 8 #include "PQ_EEPROM.h"
tanahashi 0:2b9b9c1e98d9 9
tanahashi 0:2b9b9c1e98d9 10 Serial pc(USBTX, USBRX, 115200);
tanahashi 0:2b9b9c1e98d9 11
tanahashi 0:2b9b9c1e98d9 12 I2C i2c(p28, p27);
tanahashi 0:2b9b9c1e98d9 13
tanahashi 0:2b9b9c1e98d9 14 EEPROM eeprom(i2c);
tanahashi 0:2b9b9c1e98d9 15
tanahashi 0:2b9b9c1e98d9 16 int addr;
tanahashi 0:2b9b9c1e98d9 17 char data[512];
tanahashi 0:2b9b9c1e98d9 18
tanahashi 0:2b9b9c1e98d9 19 int main()
tanahashi 0:2b9b9c1e98d9 20 {
tanahashi 0:2b9b9c1e98d9 21 addr = 0x0000;
tanahashi 0:2b9b9c1e98d9 22 for(int i = 0; i < 128; i++) {
tanahashi 0:2b9b9c1e98d9 23 data[i] = i;
tanahashi 0:2b9b9c1e98d9 24 }
tanahashi 0:2b9b9c1e98d9 25 eeprom.write(addr, data, 128);
tanahashi 0:2b9b9c1e98d9 26
tanahashi 0:2b9b9c1e98d9 27 eeprom.read(addr, data, 128);
tanahashi 0:2b9b9c1e98d9 28 for(int i = 0; i < 128; i++) {
tanahashi 0:2b9b9c1e98d9 29 pc.printf("%02x ", data[i]);
tanahashi 0:2b9b9c1e98d9 30 }
tanahashi 0:2b9b9c1e98d9 31 }
tanahashi 0:2b9b9c1e98d9 32 * @endcode
tanahashi 0:2b9b9c1e98d9 33 */
tanahashi 0:2b9b9c1e98d9 34 class EEPROM
tanahashi 0:2b9b9c1e98d9 35 {
tanahashi 0:2b9b9c1e98d9 36 private:
tanahashi 0:2b9b9c1e98d9 37 I2C *_i2c;
tanahashi 0:2b9b9c1e98d9 38 int _addr;
tanahashi 0:2b9b9c1e98d9 39 char cmd[130];
tanahashi 0:2b9b9c1e98d9 40 char buff[128];
tanahashi 0:2b9b9c1e98d9 41 public:
tanahashi 0:2b9b9c1e98d9 42 /**
tanahashi 0:2b9b9c1e98d9 43 * @param i2c I2Cのインスタンスへの参照
tanahashi 0:2b9b9c1e98d9 44 */
tanahashi 0:2b9b9c1e98d9 45 EEPROM(I2C &i2c);
tanahashi 0:2b9b9c1e98d9 46
tanahashi 0:2b9b9c1e98d9 47 /**
tanahashi 0:2b9b9c1e98d9 48 * 連続書き込み
tanahashi 0:2b9b9c1e98d9 49 * @param addr 書き込み開始アドレス
tanahashi 0:2b9b9c1e98d9 50 * @param data 書き込むデータを格納する配列
tanahashi 0:2b9b9c1e98d9 51 * @param size 書き込むデータのサイズ
tanahashi 0:2b9b9c1e98d9 52 */
tanahashi 0:2b9b9c1e98d9 53 void write(int addr, char *data, int size);
tanahashi 0:2b9b9c1e98d9 54
tanahashi 0:2b9b9c1e98d9 55 /**
tanahashi 0:2b9b9c1e98d9 56 * 連続読み出し
tanahashi 0:2b9b9c1e98d9 57 * @param addr 読み出し開始アドレス
tanahashi 0:2b9b9c1e98d9 58 * @param data 読みだすデータを格納する配列
tanahashi 0:2b9b9c1e98d9 59 * @param size 読みだすデータのサイズ
tanahashi 0:2b9b9c1e98d9 60 */
tanahashi 0:2b9b9c1e98d9 61 void read(int addr, char *data, int size);
tanahashi 0:2b9b9c1e98d9 62 };
tanahashi 0:2b9b9c1e98d9 63
tanahashi 0:2b9b9c1e98d9 64 #endif