Example program for Microchip 47x04 and 47x16 EERAM devices.
Revision 2:e7a7a5328184, committed 2017-04-27
- Comitter:
- vargham
- Date:
- Thu Apr 27 13:27:13 2017 +0000
- Parent:
- 1:e20c1294ccee
- Child:
- 3:9b5473254d82
- Commit message:
- Updated EERAM lib to 1.1
Changed in this revision
EERAM.lib | Show annotated file Show diff for this revision Revisions of this file |
eeram_main.cpp | Show annotated file Show diff for this revision Revisions of this file |
--- a/EERAM.lib Tue Apr 25 16:23:35 2017 +0000 +++ b/EERAM.lib Thu Apr 27 13:27:13 2017 +0000 @@ -1,1 +1,1 @@ -https://developer.mbed.org/users/vargham/code/EERAM/#6028bc22d82f +https://developer.mbed.org/users/vargham/code/EERAM/#bdbf9de0e985
--- a/eeram_main.cpp Tue Apr 25 16:23:35 2017 +0000 +++ b/eeram_main.cpp Thu Apr 27 13:27:13 2017 +0000 @@ -105,10 +105,41 @@ serial.printf("%.2X ", data[i]); } serial.printf("\r\n"); + + //Read and write individual values + const uint16_t START_ADDRESS = 0x400; + uint16_t addressPtr = START_ADDRESS; + int intToWrite = -76324; + unsigned short ushortToWrite = 4395; + float floatToWrite = 0.1976f; + serial.printf("# # #\r\n"); + serial.printf("Write individual values, start address = 0x%X\r\n", START_ADDRESS); + serial.printf("Int to write: %d\r\n", intToWrite); + serial.printf("Unsigned short to write: %d\r\n", ushortToWrite); + serial.printf("Float to write: %f\r\n", floatToWrite); + addressPtr += eeram.writeValue(addressPtr, &intToWrite); + addressPtr += eeram.writeValue(addressPtr, &ushortToWrite); + addressPtr += eeram.writeValue(addressPtr, &floatToWrite); + + addressPtr = START_ADDRESS; + int intToRead = 0; + unsigned short ushortToRead = 0; + float floatToRead = 0.0; + addressPtr += eeram.readValue(addressPtr, &intToRead); + addressPtr += eeram.readValue(addressPtr, &ushortToRead); + addressPtr += eeram.readValue(addressPtr, &floatToRead); + serial.printf("Read back individual values\r\n"); + serial.printf("Int to read: %d\r\n", intToRead); + serial.printf("Unsigned short to read: %d\r\n", ushortToRead); + serial.printf("Float to read: %f\r\n", floatToRead); + int length = addressPtr - START_ADDRESS + 6; + serial.printf("Dump %d bytes from 0x%X:\r\n", length, START_ADDRESS); + eeram.dump(serial, START_ADDRESS, length); } void eeramRegisterTest() { + serial.printf("# # #\r\n"); eeram.dumpRegisters(serial); } @@ -166,6 +197,13 @@ char dataRead[16]; eeram.read(0x100, dataRead, 16); wait(2.0); + float floatToWrite = -1.976f; + const uint16_t address = 0x200; + eeram.writeValue(address, &floatToWrite); + wait(2.0); + float floatToRead = 0; + eeram.readValue(address, &floatToWrite); + wait(2.0); } } */