Single variable read functions¶
These functions are designed to read a single variable - of a specific data type - from the flash memory. Each supported type of variable has a function specific to it - as listed below:
-
uint8_t
readByte(uint32_t _addr, bool fastRead = false)
- Reads an unsigned 8 bit integer (a
byte) from the address specified, and returns it.
-
int8_t
readChar(uint32_t _addr, bool fastRead = false)
- Reads a signed 8 bit integer (a
char) from the address specified, and returns it.
-
int16_t
readShort(uint32_t _addr, bool fastRead = false)
- Reads a signed 16 bit integer (a
short) from the address specified, and returns it.
-
uint16_t
readWord(uint32_t _addr, bool fastRead = false)
- Reads an unsigned 16 bit integer (a
word) from the address specified, and returns it.
-
int32_t
readLong(uint32_t _addr, bool fastRead = false)
- Reads a signed 32 bit integer (a
long) from the address specified, and returns it.
-
uint32_t
readULong(uint32_t _addr, bool fastRead = false)
- Reads an unsigned 32 bit integer (an
unsigned long) from the address specified, and returns it.
-
float
readFloat(uint32_t _addr, bool fastRead = false)
- Reads a
floatfrom the address specified, and returns it.
-
bool
readStr(uint32_t _addr, String &data, bool fastRead = false)
- Reads a
Stringfrom the address specified, and returns it.
Parameters Mandatory & Optional¶
-
uint32_t
_addr
Address in memory where the data is to be read from. Mandatory
-
bool
fastRead
Refer to Advanced use Optional
What they do¶
Return the value (of the datatype specified) that is stored at the address provided
Example code:¶
#include <SPIMemory.h>
SPIFlash flash;
uint8_t dataIn; // This data type should be changed depending on the type of data
// being read from the flash memory
uint32_t _address;
void setup() {
flash.begin();
_address = flash.getAddress(sizeof(dataIn));
dataIn = flash.readByte(_address); // This function should be changed depending on the type of data
// being read from the flash memory
Serial.print("Address = ");
Serial.println(_address);
Serial.print("Data read : 0x");
Serial.println(dataIn, HEX);
}
void loop() {
}