Hey guts i wrote i code where i need to save 2 int's in flash when i hit a button with intrerupt but when i disconect my microcontroler variable resets.Help pls.
Code:
#include <Wire.h>
#include "LiquidCrystal_I2C.h"
#include "MspFlash.h"
#define flash SEGMENT_D
#define flash1 SEGMENT_C
byte address = 0x27; // LCD I2C address
int columns = 20; // number of columns on LCD
int rows = 2; // number of rows on LCD
LiquidCrystal_I2C lcd(address, columns, rows);
int i1=20;
int *pi1=&i1;
int i2=0;
int *pi2=&i2;
int i11=30;
int *pi11=&i11;
int i22=0;
int *pi22=&i22;
void setup()
{
Serial.begin(9600);
pinMode(GREEN_LED, OUTPUT);
lcd.init();
pinMode(PUSH2, INPUT_PULLUP);
attachInterrupt(PUSH2, blink1, FALLING); // Interrupt is fired whenever button is pressed
}
void loop()
{
i1=i1+1;
i11=i11+1;
digitalWrite(GREEN_LED,HIGH);
delay(100);
digitalWrite(GREEN_LED,LOW);
delay(100);
lcd.setCursor(0,0);
lcd.print(i2);
lcd.setCursor(0,1);
lcd.print(i22);
}
void blink1()
{
Flash.erase(flash);
Flash.write(flash,(unsigned char*) pi1,sizeof(int));
Flash.read(flash,(unsigned char*) pi2,sizeof(int));
Flash.erase(flash1);
Flash.write(flash1,(unsigned char*) pi11,sizeof(int));
Flash.read(flash1,(unsigned char*) pi22,sizeof(int));
}