Подскажите как остановить прерывание по таймеру?
Данный код не принес успеха.
noInterrupts(); // отключаем все прерывания
TIMSK1 |= (0 << TOIE1);
interrupts();
Подскажите как остановить прерывание по таймеру?
Данный код не принес успеха.
noInterrupts(); // отключаем все прерывания
TIMSK1 |= (0 << TOIE1);
interrupts();
Неудивительно, ибо дизъюнкция:
А нужна конъюнкция:
Видимо, имеется в виду ATmega328??? Неплохо было бы это указать.
Если так, то надо прописать 0 в бит TOIE1 регистра TIMSK1
А с чего ему приносить успех, если он ничего не делает. Т.е. этот код не делает ровным счётом ни-че-го! Он оставляет всё, как есть.
Если Вам нужно прописать куда-то 0, то это делается операцией И (а не ИЛИ, как у Вас) с инвертированной маской
TIMSK1 &= ~(1 << TOIE1);