Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* PROGRAM ID: 5-ChannelsPowerControl.ino
- * PROGRAMMER: Rolando Avecilla
- * DATE :
- * DONE :
- * OBJECTIVE :
- * TARGET : Teensy 3.6
- * NOTE :
- *
- */
- //===============================================================//
- // Load libraries. //
- //===============================================================//
- #include <EEPROM.h>
- //===============================================================//
- // Global variables and constant. //
- //===============================================================//
- // Define struct
- struct structData {
- int intVar;
- float floatVar;
- bool boolVar;
- };
- void setup() {
- Serial.begin(115200);
- // Define and then initialize struct instance.
- structData forSAving;
- forSAving.intVar = 42;
- forSAving.floatVar = 3.14;
- forSAving.boolVar = true;
- // Save the struct to EEPROM.
- saveToEEPROM(forSAving);
- delay(3000);
- // Retrieve the struct from EEPROM.
- structData forRetrieving;
- retrieveFromEEPROM(forRetrieving);
- Serial.println(forRetrieving.intVar);
- Serial.println(forRetrieving.floatVar);
- Serial.println(forRetrieving.boolVar);
- Serial.println("Setup ends.");
- }
- void loop() {
- // do nothing.
- }
- // Function to store data in EEPROM.
- void saveToEEPROM(const structData& data) {
- // Calculate the starting EEPROM address for your data.
- int address = 0;
- // Write the data to EEPROM byte by byte.
- byte* pData = (byte*)&data;
- for (unsigned int i = 0; i < sizeof(data); i++) {
- EEPROM.write(address + i, pData[i]);
- delay(100);
- }
- }
- // Function to retrieve the struct from EEPROM.
- void retrieveFromEEPROM(structData& data) {
- // Calculate the starting EEPROM address for your data.
- int address = 0;
- // Read the data from EEPROM byte by byte.
- byte* pData = (byte*)&data;
- for (unsigned int i = 0; i < sizeof(data); i++) {
- pData[i] = EEPROM.read(address + i);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement