Код для прерывания на таймере. Не слишком большой блок с 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
Anonim
Я бы объединил участки, где спид++ и спид-- Через ор Ну и ретурны, вроде, нах не нужны
Artem
Так быстрее будет?
Anonim
вряд ли;) но красивее
Mezzo
Деда молодец Нет, компилятору пахую Но для поддержки аккуратный и ясный код лучше