Код для прерывания на таймере. Не слишком большой блок с if получился? void timer_callback(timer_callback_args_t __attribute((unused)) *p_args) { if(speed == desired_speed) { return; } if((desired_speed > 0) & (speed < desired_speed)) { speed++; return; } if((desired_speed > 0) & (speed > desired_speed)) { speed--; return; } if((desired_speed < 0) && (desired_speed < speed)) { speed--; return; } if((desired_speed < 0) && (desired_speed > speed)) { speed++; return; } }

Комментарии: 6

  1. Anonim

    Я бы объединил участки, где спид++ и спид-- Через ор Ну и ретурны, вроде, нах не нужны

    • Artem

      Так быстрее будет?

      • Anonim

        вряд ли;) но красивее

      • Mezzo

        Деда молодец Нет, компилятору пахую Но для поддержки аккуратный и ясный код лучше

Не нашли ответ?

Вам также может быть интересно