Unable to Exit/break from attacheInterrupt Function, please suggest !!

// MEGA 2560 BOARD
// 20X4 i2c LCD

#include <Wire.h>
#include <LCD.h>
#include <LiquidCrystal_I2C.h>

#define I2C_ADDR 0x3F // <<- Add your I2C LCD MODULE address here.
#define Rs_pin 0
#define Rw_pin 1
#define En_pin 2
#define BACKLIGHT_PIN 3
#define D4_pin 4
#define D5_pin 5
#define D6_pin 6
#define D7_pin 7
LiquidCrystal_I2C lcd(I2C_ADDR,En_pin,Rw_pin,Rs_pin,D4_pin,D5_pin,D6_pin,D7_pin);

void pause()
{

for(;:wink:
{
digitalWrite(13,LOW);
lcd.clear();
lcd.print(" INTERRUPTED ");
if(digitalRead(8)==HIGH);
{
detachInterrupt(0);
break;
}

}

}

void setup()
{
Serial.begin(9600); // opens serial port, sets data rate to 9600 bps

pinMode(13, OUTPUT); // LED
pinMode(2,INPUT); // Interrupt pin
pinMode(8,INPUT); // Interrupt function "pause" breaking Input pin

attachInterrupt(digitalPinToInterrupt(2), pause,RISING);

// 20X4 LCD I2C
lcd.begin (20,4);
lcd.setBacklightPin(BACKLIGHT_PIN,POSITIVE);
lcd.setBacklight(HIGH);

}

void loop()

{
// built in LED pin 13 ON

digitalWrite(13,HIGH);
lcd.clear();
lcd.print(" LED is ON ");
delay(800);
lcd.clear();
delay(250);
}

IT`S SOLVED

// LCD WILL NOT DISPLAY DURING attachInterrupt, attachInterrupt function is making Only pins high/low as //we write it in

// MEGA 2560 BOARD
// 20X4 i2c LCD

#include <Wire.h>
#include <LCD.h>
#include <LiquidCrystal_I2C.h>

#define I2C_ADDR 0x3F // <<- Add your I2C LCD MODULE address here.
#define Rs_pin 0
#define Rw_pin 1
#define En_pin 2
#define BACKLIGHT_PIN 3
#define D4_pin 4
#define D5_pin 5
#define D6_pin 6
#define D7_pin 7
LiquidCrystal_I2C lcd(I2C_ADDR,En_pin,Rw_pin,Rs_pin,D4_pin,D5_pin,D6_pin,D7_pin);

void pause()
{

digitalWrite(13,LOW);
while(digitalRead(8)==LOW)
{
// DO NOTHING !!!!!!
}

}

void setup()
{
Serial.begin(9600); // opens serial port, sets data rate to 9600 bps

pinMode(13, OUTPUT); // LED
pinMode(2,INPUT); // Interrupt pin
pinMode(8,INPUT); // Interrupt function "pause" breaking Input pin

attachInterrupt(digitalPinToInterrupt(2), pause,RISING);

// 20X4 LCD I2C
lcd.begin (20,4);
lcd.setBacklightPin(BACKLIGHT_PIN,POSITIVE);
lcd.setBacklight(HIGH);

}

void loop()

{
// built in LED pin 13 ON

digitalWrite(13,HIGH);
lcd.clear();
lcd.print(" LED is ON ");
delay(800);
lcd.clear();
delay(250);
}

Nice smiley... :wink:

Well know fact that smilies in code always make it run better.