IZU2020 / PQEEPROM

Dependents:   IZU2020_AVIONICS IZU2020_POST_PROCESS IZU2020_AVIONICS

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers PQEEPROM.h Source File

PQEEPROM.h

00001 #ifndef PQEEPROM_H_
00002 #define PQEEPROM_H_
00003 
00004 /**
00005  * EEPROM 24FC1025のライブラリ
00006  * @note 1つにつき0x000000~0x01FFFFまでのアドレスが指定できます
00007  * @note 2つ使用する場合は0x000000~0x03FFFFまでのアドレスが指定でき、最大4つ同時に使用できます
00008  * @note 1ページは128バイトです
00009  * @note ページをまたぐような書き込みは危険なのでしないこと
00010  * @note 受信バッファは128バイトです
00011  * @code
00012 #include "mbed.h"
00013 #include "PQEEPROM.h"
00014 
00015 Serial pc(USBTX, USBRX, 115200);
00016 
00017 I2C i2c(p9, p10);
00018 
00019 EEPROM eeprom(i2c);
00020 
00021 int addr;
00022 char data[128];
00023 char buff[128];
00024 
00025 int main()
00026 {
00027     addr = 0x000000;
00028     for(int i = 0; i < 128; i++) {
00029         data[i] = 0xFF;
00030     }
00031     eeprom.write(addr, data, 128);
00032     eeprom.read(addr, buff, 128);
00033     for(int i = 0; i < 128; i++) {
00034         pc.printf("%x ", buff[i]);
00035     }
00036 }
00037  * @endcode
00038  */
00039 class EEPROM
00040 {
00041 private:
00042     I2C *_i2c;
00043     int _addr;
00044     char cmd[130];
00045     char buff[128];
00046 
00047 public:
00048     /**
00049      * @param i2c I2Cのインスタンスへの参照
00050      */
00051     EEPROM (I2C &i2c);
00052 
00053     /**
00054      * 連続書き込み
00055      * @param addr 書き込みアドレス
00056      * @param data 書き込むデータの配列(最大128バイト)
00057      * @param size 書き込むデータのサイズ
00058      */
00059     void write(int addr, char *data, int size);
00060 
00061     /**
00062      * 連続読み込み
00063      * @param addr 読み込みアドレス
00064      * @param data 読み込むデータの配列(最大128バイト)
00065      * @param size 読み込むデータのサイズ
00066      */
00067     void read(int addr, char *data, int size);
00068 };
00069 
00070 #endif