stm32主函数中连续break的问题

为什么在while循环中嵌套的switch中某个case再嵌套一个while使LED以1Hz闪烁并检测按键的输入信号,检测到按键按下就用连续break跳出while再跳出switch,但是实际操作的时候,第一次按下按键后LED会停下,按第二下才进入另一个case,为什么会出现这种情况,怎么解决这个问题,让按键按一次就进入另一个case

这是算法不好,用中断会比较简单一点,定时器中断控制灯,按键中断检测按键