关于#单片机#的问题,如何解决?

利用中断解决下述问题,单片机上电默认开始从左向右的流水灯,按下s2流水灯改变方向从右向左流,按下s3时led灯全部闪烁。要求:s2不能打断s3,s3可以打断s2。

记录led灯的工作状态,按键按下之后判断当前状态是什么

int led_state = 从右往左,
if(s2)
{
      if(led_state == 从右往左)
      {
              //执行改变流水灯方向
              led_state = 从左往右
      }
      if(led_state ==从左往右)
      {
              //执行改变流水灯方向
              led_state = 从右往左
      }
}
if(s3)
{
    //执行led闪烁
    led_state = 闪烁
}

这样子一个判断的思路