Позволю себе дополнить предыдущего оратора.
Если используется прескейлер, то, т.к. он обнуляется при записи в TMR, через раз можно (если таки боремся за точность) накидывать ещё единичку
Код
TMR1 += VALUE + DELTA + 1
Результат компиляции
Код
TMR1 += VALUE + DELTA
TMR1 = TMR1 + VALUE + DELTA
может отличаться, если VALUE и/или DELTA не константы, с которыми справился препроцессор.
(точнее было бы написать "должен отличаться", но писс, н-р, по-любому оптимизирует до
Код
TMR1 += VALUE + DELTA
, а потом может сделать так
Код
TMR1 += (VALUE + DELTA)
или так
Код
TMR1 += VALUE
TMR1 += DELTA
)
А если вдруг VALUE и/или DELTA окажутся volatile, то для получения однозначного результата проще оформить такой кусок ассемблерной вставкой.