EEPROMのライブラリ

Dependents:   Hybrid_IZU2021_MAIN_OS5 Hybrid_IZU2021_POST_PROCESS Hybrid_IZU2021_MAIN

Revision:
0:2b9b9c1e98d9
Child:
1:17aac6418a06
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/PQ_EEPROM.h	Tue Dec 15 15:33:33 2020 +0000
@@ -0,0 +1,64 @@
+#ifndef PQ_EEPROM_H
+#define PQ_EEPROM_H
+
+/**
+ * 3軸高加速度センサADXL375のライブラリ
+ * @code
+#include "mbed.h"
+#include "PQ_EEPROM.h"
+
+Serial pc(USBTX, USBRX, 115200);
+
+I2C i2c(p28, p27);
+
+EEPROM eeprom(i2c);
+
+int addr;
+char data[512];
+
+int main()
+{
+    addr = 0x0000;
+    for(int i = 0; i < 128; i++) {
+        data[i] = i;
+    }
+    eeprom.write(addr, data, 128);
+    
+    eeprom.read(addr, data, 128);
+    for(int i = 0; i < 128; i++) {
+        pc.printf("%02x ", data[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 書き込むデータを格納する配列
+     * @param size 書き込むデータのサイズ
+     */
+    void write(int addr, char *data, int size);
+    
+    /**
+     * 連続読み出し
+     * @param addr 読み出し開始アドレス
+     * @param data 読みだすデータを格納する配列
+     * @param size 読みだすデータのサイズ
+     */
+    void read(int addr, char *data, int size);
+};
+
+#endif
\ No newline at end of file