Basic example showing how to use a M24LR64 EEPROM with the STM32469I_DISCOVERY board. This EEPROM can be found on the additional ANT7-M24LR-A daughter board.
Dependencies: BSP_DISCO_F469NI EEPROM_DISCO_F469NI mbed
main.cpp
- Committer:
- jeromecoutant
- Date:
- 2017-07-05
- Revision:
- 3:b2fc54be1d0e
- Parent:
- 0:05a882783c3f
File content as of revision 3:b2fc54be1d0e:
#include "mbed.h"
#include "EEPROM_DISCO_F469NI.h"
EEPROM_DISCO_F469NI eep;
DigitalOut led_green(LED1);
DigitalOut led_red(LED2);
Serial pc(USBTX, USBRX);
#define BUFFER_SIZE ((uint32_t)32)
#define WRITE_READ_ADDR ((uint32_t)0x0000)
int main()
{
// 12345678901234567890123456789012
uint8_t WriteBuffer[BUFFER_SIZE+1] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ012345";
uint8_t ReadBuffer[BUFFER_SIZE+1];
uint16_t bytes_rd;
pc.printf("\n\nEEPROM demo started\n");
led_red = 0;
// Check initialization
if (eep.Init() != EEPROM_OK) {
led_red = 1;
error("Initialization FAILED\n");
} else {
pc.printf("Initialization PASSED\n");
}
// Write buffer
if (eep.WriteBuffer(WriteBuffer, WRITE_READ_ADDR, BUFFER_SIZE) != EEPROM_OK) {
led_red = 1;
error("Write buffer FAILED\n");
} else {
pc.printf("Write buffer PASSED\n");
}
// Read buffer
bytes_rd = BUFFER_SIZE;
if (eep.ReadBuffer(ReadBuffer, WRITE_READ_ADDR, &bytes_rd) != EEPROM_OK) {
led_red = 1;
error("Read buffer FAILED\n");
} else {
ReadBuffer[BUFFER_SIZE] = '\0';
pc.printf("Read buffer PASSED\n");
pc.printf("Buffer read = [%s]\n", ReadBuffer);
pc.printf("Bytes read = %d\n", bytes_rd);
}
while(1) {
led_green = !led_green;
wait(1);
}
}