Fujitsu MB85RCxx I2C FRAM test program

Dependencies:   mbed MB85RCxx_I2C

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 #include "mbed.h"
00002 #include "MB85RCxx_I2C.h"
00003 
00004 DigitalOut myled(LED1);
00005 Serial pc(USBTX, USBRX);
00006 
00007 #if defined(TARGET_LPC1768)
00008 MB85RCxx_I2C fram(p9, p10);
00009 #elif defined(TARGET_LPC1114)
00010 MB85RCxx_I2C fram(dp5, dp27);
00011 #else
00012 MB85RCxx_I2C fram(D14, D15);
00013 #endif
00014 
00015 int main() {
00016     char buf[16];
00017     uint32_t address;
00018 
00019     pc.baud(115200);
00020     pc.printf("\nFujitsu MB85RCxxx FRAM test program\n\n");
00021     
00022     fram.read_device_id(buf);
00023         
00024     pc.printf("read device ID = 0x%x 0x%x 0x%x\n\n", buf[0], buf[1], buf[2]);
00025 
00026     fram.fill(0, 0, 256);
00027 
00028     for (int i = 0; i < 16; i++) {
00029         buf[i] = i;
00030     }
00031     fram.write(0, buf, 16);
00032 
00033     for (address = 0; address < 0x80; address += 16) {
00034         fram.read(address, buf, 16);
00035         pc.printf("%08X : ", address);
00036         for (int i = 0; i < 16; i++) {
00037             pc.printf("%02X ", buf[i]);    
00038         }
00039         pc.printf("\n");
00040     }
00041 
00042     pc.printf("\n");
00043     for (address = 0; address < 0x100; address++) {
00044         fram.write(address, (uint8_t)address);
00045     }
00046     for (address = 0; address < 0x100; address += 16) {
00047         fram.read(address, buf, 16);
00048         pc.printf("%08X : ", address);
00049         for (int i = 0; i < 16; i++) {
00050             pc.printf("%02X ", buf[i]);    
00051         }
00052         pc.printf("\n");
00053     }
00054     
00055     while(1) {
00056         myled = 1;
00057         wait(0.2);
00058         myled = 0;
00059         wait(0.2);
00060     }
00061 }