Test Program for AT241024. Byte R/W, Page R/W
Dependencies: AT24C1024 mbed-rtos mbed
main.cpp
- Committer:
- ryood
- Date:
- 2017-01-06
- Revision:
- 4:015c1e2a3ae2
- Parent:
- 3:2265ade869a4
File content as of revision 4:015c1e2a3ae2:
/* * AT24C1024 Test * * mbed: Revision: 121 * mbed-rtos: Revision: 117 * * 2016.11.25 Created * */ #include "mbed.h" #include "rtos.h" #include "AT24C1024.h" I2C i2c(D14, D15); // SDA, SCL AT24C1024 at24c1024(i2c); // Atmel 1Mbit EE-PROM DigitalOut led1(LED1); int main() { printf("\r\n*** AT24C1024 Test ***\r\n"); at24c1024.frequency(100000); // Byte Read/Write // uint8_t dt = 0x55; printf("Byte Write: %02x\r\n", dt); at24c1024.write(0, dt); // write addr=0 data=dt wait_ms(5); dt = at24c1024.read(0); // read addr=0 printf("Byte Read: %02x\r\n", dt); // Page Read/Write // uint8_t eep_buf[258], r_eep_buf[258]; // Zero Clear for (int i = 0; i < 256; i++) { eep_buf[i] = 0; r_eep_buf[i] = 0xff; } printf("Page Write: Zero Clear\r\n"); AT24C_STATUS status = at24c1024.write_page(0x1ff00, eep_buf, sizeof(eep_buf)); wait_ms(5); printf("Status: %d\r\n", status); printf("Page Read:\r\n"); status = at24c1024.read_page(0x1ff00, r_eep_buf, sizeof(r_eep_buf)); printf("Status: %d\r\n", status); for (int i = 0; i < sizeof(r_eep_buf); i++) { printf("%d ", r_eep_buf[i]); } printf("\r\n"); // Set 0..255 for (int i = 0; i < 256; i++) { eep_buf[i] = i; r_eep_buf[i] = 0x00; } printf("Page Write: 0..255\r\n"); status = at24c1024.write_page(0x1ff00, eep_buf, sizeof(eep_buf)); wait_ms(5); printf("Status: %d\r\n", status); printf("Page Read:\r\n"); status = at24c1024.read_page(0x1ff00, r_eep_buf, sizeof(r_eep_buf)); printf("Status: %d\r\n", status); for (int i = 0; i < sizeof(r_eep_buf); i++) { printf("%d ", r_eep_buf[i]); } printf("\r\n"); while(1) { led1 = !led1; wait(0.2); } }