volatile __no_init __READ_WRITE unsigned long ISER1 @ 0xE000E104; LCD_INTMSK = (1 << 3); //Enable Vertical compare interrupt ISER1 |= (1 << 5); //Enable LCD Controller's Interrupt //Enable LCD Controller LCD_CTRL = (6 << 1) | (1 << 5) | (1 << 11); LCD_CTRL |= (1 << 0); //Enable LCD Signals My ISR void LCD_IRQHandler(void) <------- execute only once or twice not any further { static unsigned int msk = 0; if (LCD_INTSTAT & (1 << 3)) //if vertical sync interrupt { LCD_INTCLR = 0xf; if(!msk) { msk = 1; FIO5PIN |= KEY_ROW_MASK; //Just toggle the pin to observe the ISR's execution on oscilloscope } else { msk = 0; FIO5PIN &= ~KEY_ROW_MASK;//Just toggle the pin to observe the ISR's execution on oscilloscope } } else { LCD_INTCLR = 0xf; } } |
int32_t myVar = 1; |