Test Program for AT241024. Byte R/W, Page R/W
Dependencies: AT24C1024 mbed-rtos mbed
main.cpp@1:c671dcf90b11, 2016-11-25 (annotated)
- 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?
User | Revision | Line number | New 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 | } |