Kuldip Maharjan
/
24LC256
This code does some basic stuff with an 24LC256 memory chip
main.cpp
- Committer:
- kuldipmaharjan
- Date:
- 2014-01-08
- Revision:
- 0:4e50b868c5dc
File content as of revision 0:4e50b868c5dc:
//Author: Kuldip Maharjan //Email : kuldipmaharjan@gmail.com //Anyone can use this code if it helps in their projects or //for learning programing in mbed besides for commercial purposes // This code does some basic stuff with an 24LC256 memory chip #include "mbed.h" I2C i2c(p28, p27); // sda, scl //DigitalOut wp(p29); // write protect int main() { //wp = 0; // disable write protect printf("Writing bytes 0-16\n"); char data[3]; for(int i=0; i<16; i++) { data[0] = 0; // MSB address data[1] = i; // LSB address data[2] = i * 3; // data if(i2c.write(0xA0, data, 3)) { error("Write failed\n"); } while(i2c.write(0xA0, NULL, 0)); // wait to complete } data[0] = 0; // MSB address data[1] = 255; // LSB address data[2] = 'A'; // data if(i2c.write(0xA0, data, 3)) { error("Write failed\n"); } while(i2c.write(0xA0, NULL, 0)); // wait to complete printf("Setting read pointer to 0\n"); data[0] = 0; // MSB address data[1] = 0; // LSB address if(i2c.write(0xA0, data, 2)) { // send address, but no data error("Write failed\n"); } printf("Reading back data bytes 0-16\n"); char response[1]; for(int i=0; i<256; i++) { if(i2c.read(0xA0, response, 1)) { error("Read failed\n"); } printf("address %03d = 0x%02X\n", i, response[0]); } }