EEPROM test

Dependencies:   mbed EEPROM_lib

Committer:
Sigma884
Date:
Sat May 22 16:07:50 2021 +0000
Revision:
4:b886fe26f396
Parent:
3:ce61a30944b3
Parent:
1:dddddafe7cde
Child:
5:8b4c33da0c71
merge

Who changed what in which revision?

UserRevisionLine numberNew contents of line
imadaemi 0:7b9806067298 1 #include "mbed.h"
imadaemi 0:7b9806067298 2 #include "EEPROM_lib.h"
imadaemi 0:7b9806067298 3
imadaemi 0:7b9806067298 4 Serial pc(USBTX, USBRX, 115200);
imadaemi 0:7b9806067298 5 I2C i2c_bus(p28, p27);
imadaemi 0:7b9806067298 6
imadaemi 0:7b9806067298 7 EEPROM_lib EEPROM(i2c_bus, 1);
imadaemi 0:7b9806067298 8
Sigma884 4:b886fe26f396 9 <<<<<<< working copy
imadaemi 3:ce61a30944b3 10
imadaemi 3:ce61a30944b3 11 // hoge test
Sigma884 4:b886fe26f396 12 =======
Sigma884 1:dddddafe7cde 13 // ビッグエンディアン/リトルエンディアンに注意!
Sigma884 1:dddddafe7cde 14
Sigma884 4:b886fe26f396 15 >>>>>>> merge rev
imadaemi 0:7b9806067298 16 int main(){
imadaemi 0:7b9806067298 17 //////////////////////////////////////////write
imadaemi 0:7b9806067298 18 /*
imadaemi 0:7b9806067298 19 EEPROM.setWriteAddr(1, 0, 0x00, 0x00);
imadaemi 0:7b9806067298 20 int ptr, n = 0;
imadaemi 0:7b9806067298 21 while(1){
imadaemi 0:7b9806067298 22 while(1){
imadaemi 0:7b9806067298 23 ptr = EEPROM.chargeBuff((int)n++);
imadaemi 0:7b9806067298 24 if(ptr == 128){
imadaemi 0:7b9806067298 25 EEPROM.writeBuff();
imadaemi 0:7b9806067298 26 ptr = EEPROM.setNextPage();
imadaemi 0:7b9806067298 27 break;
imadaemi 0:7b9806067298 28 }
imadaemi 0:7b9806067298 29 }
imadaemi 0:7b9806067298 30 if(ptr == 0x01000000){
imadaemi 0:7b9806067298 31 break;
imadaemi 0:7b9806067298 32 }
imadaemi 0:7b9806067298 33 }
imadaemi 0:7b9806067298 34
imadaemi 0:7b9806067298 35 //////////////////////////////////////////read
imadaemi 0:7b9806067298 36
imadaemi 0:7b9806067298 37 char data[128];
imadaemi 0:7b9806067298 38 int num, block;
imadaemi 0:7b9806067298 39 char ADDR_H, ADDR_L;
imadaemi 0:7b9806067298 40
imadaemi 0:7b9806067298 41 num = 1;
imadaemi 0:7b9806067298 42 block = 0;
imadaemi 0:7b9806067298 43 ADDR_H = ADDR_L = 0x00;
imadaemi 0:7b9806067298 44
imadaemi 0:7b9806067298 45 for(int i = 0; i < 1024; i ++){
imadaemi 0:7b9806067298 46 switch(i){
imadaemi 0:7b9806067298 47 case 512:
imadaemi 0:7b9806067298 48 num = 1;
imadaemi 0:7b9806067298 49 block = 1;
imadaemi 0:7b9806067298 50 break;
imadaemi 0:7b9806067298 51
imadaemi 0:7b9806067298 52 case 1024:
imadaemi 0:7b9806067298 53 num = 2;
imadaemi 0:7b9806067298 54 block = 0;
imadaemi 0:7b9806067298 55 break;
imadaemi 0:7b9806067298 56
imadaemi 0:7b9806067298 57 case 1536:
imadaemi 0:7b9806067298 58 num = 2;
imadaemi 0:7b9806067298 59 block = 1;
imadaemi 0:7b9806067298 60 break;
imadaemi 0:7b9806067298 61
imadaemi 0:7b9806067298 62 case 2048:
imadaemi 0:7b9806067298 63 num = 3;
imadaemi 0:7b9806067298 64 block = 0;
imadaemi 0:7b9806067298 65 break;
imadaemi 0:7b9806067298 66
imadaemi 0:7b9806067298 67 case 2560:
imadaemi 0:7b9806067298 68 num = 3;
imadaemi 0:7b9806067298 69 block = 1;
imadaemi 0:7b9806067298 70 break;
imadaemi 0:7b9806067298 71
imadaemi 0:7b9806067298 72 case 3072:
imadaemi 0:7b9806067298 73 num = 4;
imadaemi 0:7b9806067298 74 block = 0;
imadaemi 0:7b9806067298 75 break;
imadaemi 0:7b9806067298 76
imadaemi 0:7b9806067298 77 case 3584:
imadaemi 0:7b9806067298 78 num = 4;
imadaemi 0:7b9806067298 79 block = 1;
imadaemi 0:7b9806067298 80 break;
imadaemi 0:7b9806067298 81 }
imadaemi 0:7b9806067298 82
imadaemi 0:7b9806067298 83 EEPROM.readMultiByte(num, block, ADDR_H, ADDR_L, data, 128);
imadaemi 0:7b9806067298 84 for(int x = 0; x < 128; x ++){
imadaemi 0:7b9806067298 85 pc.printf("%02x ", data[x]);
imadaemi 0:7b9806067298 86 }
imadaemi 0:7b9806067298 87 pc.printf("\r\n");
imadaemi 0:7b9806067298 88
imadaemi 0:7b9806067298 89 if(ADDR_L == 0x00){
imadaemi 0:7b9806067298 90 ADDR_L = 0x80;
imadaemi 0:7b9806067298 91 }
imadaemi 0:7b9806067298 92 else{
imadaemi 0:7b9806067298 93 ADDR_L = 0x00;
imadaemi 0:7b9806067298 94 ADDR_H ++;
imadaemi 0:7b9806067298 95 }
imadaemi 0:7b9806067298 96 }
imadaemi 0:7b9806067298 97 */
imadaemi 0:7b9806067298 98 /*
imadaemi 0:7b9806067298 99 char data[128];
imadaemi 0:7b9806067298 100 int num, block;
imadaemi 0:7b9806067298 101 char ADDR_H, ADDR_L;
imadaemi 0:7b9806067298 102
imadaemi 0:7b9806067298 103 num = 1;
imadaemi 0:7b9806067298 104 block = 0;
imadaemi 0:7b9806067298 105 ADDR_H = ADDR_L = 0x00;
imadaemi 0:7b9806067298 106
imadaemi 0:7b9806067298 107 char a;
imadaemi 0:7b9806067298 108
imadaemi 0:7b9806067298 109 for(int i = 0; i < 9; i ++){
imadaemi 0:7b9806067298 110 a = EEPROM.readByte(num, block, ADDR_H, ADDR_L);
imadaemi 0:7b9806067298 111 pc.printf("%02x ", a);
imadaemi 0:7b9806067298 112 ADDR_L ++;
imadaemi 0:7b9806067298 113 }
imadaemi 0:7b9806067298 114 */
imadaemi 0:7b9806067298 115
imadaemi 0:7b9806067298 116 EEPROM.setWriteAddr(1, 0, 0x00, 0x00);
imadaemi 0:7b9806067298 117 int ptr, n = 0;
imadaemi 0:7b9806067298 118
imadaemi 0:7b9806067298 119 for(int j = 0; j < 2; j ++){
imadaemi 0:7b9806067298 120 for(int k = 0; k < 128; k ++){
imadaemi 0:7b9806067298 121 ptr = EEPROM.chargeBuff((int)k);
imadaemi 0:7b9806067298 122 if(ptr == 128){
imadaemi 0:7b9806067298 123 EEPROM.writeBuff();
imadaemi 0:7b9806067298 124 ptr = EEPROM.setNextPage();
imadaemi 0:7b9806067298 125 }
imadaemi 0:7b9806067298 126 }
imadaemi 0:7b9806067298 127 }
imadaemi 0:7b9806067298 128
imadaemi 0:7b9806067298 129 char data[128];
imadaemi 0:7b9806067298 130 int num, block;
imadaemi 0:7b9806067298 131 char ADDR_H, ADDR_L;
imadaemi 0:7b9806067298 132
imadaemi 0:7b9806067298 133 num = 1;
imadaemi 0:7b9806067298 134 block = 0;
imadaemi 0:7b9806067298 135 ADDR_H = ADDR_L = 0x00;
imadaemi 0:7b9806067298 136
imadaemi 0:7b9806067298 137 for(int l = 0; l < 2; l ++){
imadaemi 0:7b9806067298 138 EEPROM.readMultiByte(num, block, ADDR_H, ADDR_L, data, 128);
imadaemi 0:7b9806067298 139 for(int x = 0; x < 128; x ++){
imadaemi 0:7b9806067298 140 pc.printf("%02x ", data[x]);
imadaemi 0:7b9806067298 141 }
imadaemi 0:7b9806067298 142 pc.printf("\r\n");
imadaemi 0:7b9806067298 143
imadaemi 0:7b9806067298 144 if(ADDR_L == 0x00){
imadaemi 0:7b9806067298 145 ADDR_L = 0x80;
imadaemi 0:7b9806067298 146 }
imadaemi 0:7b9806067298 147 else{
imadaemi 0:7b9806067298 148 ADDR_L = 0x00;
imadaemi 0:7b9806067298 149 ADDR_H ++;
imadaemi 0:7b9806067298 150 }
imadaemi 0:7b9806067298 151 }
imadaemi 0:7b9806067298 152 }