Test Program for AT241024. Byte R/W, Page R/W

Dependencies:   AT24C1024 mbed-rtos mbed

Committer:
ryood
Date:
Fri Nov 25 05:25:42 2016 +0000
Revision:
1:c671dcf90b11
Parent:
0:61561880f5ea
Child:
2:ba28083ac613
Page Read/Write Test

Who changed what in which revision?

UserRevisionLine numberNew contents of line
ryood 0:61561880f5ea 1 #include "mbed.h"
ryood 0:61561880f5ea 2 #include "AT24C1024.h"
ryood 0:61561880f5ea 3
ryood 0:61561880f5ea 4 I2C i2c(D14, D15); // SDA, SCL
ryood 0:61561880f5ea 5 AT24C1024 at24c1024(i2c); // Atmel 1Mbit EE-PROM
ryood 0:61561880f5ea 6
ryood 0:61561880f5ea 7 DigitalOut led1(LED1);
ryood 0:61561880f5ea 8
ryood 0:61561880f5ea 9 int main()
ryood 0:61561880f5ea 10 {
ryood 0:61561880f5ea 11 printf("\r\n*** AT24C1024 Test ***\r\n");
ryood 1:c671dcf90b11 12
ryood 1:c671dcf90b11 13 // Byte Read/Write
ryood 1:c671dcf90b11 14 //
ryood 0:61561880f5ea 15 uint8_t dt = 0x55;
ryood 0:61561880f5ea 16 printf("Byte Write: %02x\r\n", dt);
ryood 0:61561880f5ea 17 at24c1024.write(0, dt); // write addr=0 data=dt
ryood 0:61561880f5ea 18 wait_ms(5);
ryood 0:61561880f5ea 19 dt = at24c1024.read(0); // read addr=0
ryood 0:61561880f5ea 20 printf("Byte Read: %02x\r\n", dt);
ryood 0:61561880f5ea 21
ryood 1:c671dcf90b11 22 // Page Read/Write
ryood 1:c671dcf90b11 23 //
ryood 1:c671dcf90b11 24 uint8_t eep_buf[258];
ryood 1:c671dcf90b11 25 for (int i = 0; i < 256; i++) {
ryood 1:c671dcf90b11 26 eep_buf[i] = i;
ryood 1:c671dcf90b11 27 }
ryood 1:c671dcf90b11 28 printf("Page Write: 0..255\r\n");
ryood 1:c671dcf90b11 29 AT24C_STATUS status = at24c1024.write_page(0x1ff00, eep_buf, sizeof(eep_buf));
ryood 1:c671dcf90b11 30 wait_ms(5);
ryood 1:c671dcf90b11 31 printf("Status: %d\r\n", status);
ryood 1:c671dcf90b11 32 printf("Page Read:\r\n");
ryood 1:c671dcf90b11 33 status = at24c1024.read_page(0x1ff00, eep_buf, sizeof(eep_buf));
ryood 1:c671dcf90b11 34 printf("Status: %d\r\n", status);
ryood 1:c671dcf90b11 35 for (int i = 0; i < sizeof(eep_buf); i++) {
ryood 1:c671dcf90b11 36 printf("%d ", eep_buf[i]);
ryood 1:c671dcf90b11 37 }
ryood 1:c671dcf90b11 38 printf("\r\n");
ryood 1:c671dcf90b11 39
ryood 0:61561880f5ea 40 while(1) {
ryood 1:c671dcf90b11 41 led1 = !led1;
ryood 1:c671dcf90b11 42 wait(0.2);
ryood 0:61561880f5ea 43 }
ryood 0:61561880f5ea 44 }