diff --git a/firmware/system.c b/firmware/system.c index f02bbb821d..c9d1c6e153 100644 --- a/firmware/system.c +++ b/firmware/system.c @@ -323,12 +323,19 @@ void UIE (unsigned int pc) /* Unexpected Interrupt or Exception */ asm volatile ("sts\tpr,%0" : "=r"(n)); + /* clear screen */ + lcd_clear_display (); + /* output exception */ n = (n - (unsigned)UIE0 - 4)>>2; // get exception or interrupt number snprintf(str,sizeof(str),"I%02x:%s",n,irqname[n]); lcd_puts(0,0,str); snprintf(str,sizeof(str),"at %08x",pc); lcd_puts(0,1,str); +#ifdef HAVE_LCD_BITMAP + lcd_update (); +#endif + while (1) { volatile int i;