diff --git a/Firmware/menu.cpp b/Firmware/menu.cpp index 3ab409956..5d1385ff9 100755 --- a/Firmware/menu.cpp +++ b/Firmware/menu.cpp @@ -42,12 +42,12 @@ static_assert(sizeof(menu_data)>= sizeof(menu_data_edit_t),"menu_data_edit_t doe void menu_goto(menu_func_t menu, const uint32_t encoder, const bool feedback, bool reset_menu_state) { - asm("cli"); + CRITICAL_SECTION_START; if (menu_menu != menu) { menu_menu = menu; lcd_encoder = encoder; - asm("sei"); + CRITICAL_SECTION_END; if (reset_menu_state) { // Resets the global shared C union. @@ -57,7 +57,7 @@ void menu_goto(menu_func_t menu, const uint32_t encoder, const bool feedback, bo if (feedback) lcd_quick_feedback(); } else - asm("sei"); + CRITICAL_SECTION_END; } void menu_start(void)