|
voltage = accumulator /int_dec ;
вычисление происходит в прерывании. раз в прерывание провалился вычислил - и всё до следующего прерывания оно не меняется. потом всё остальное время крутишься в основном цмкле. вот допустим voltage > VOLTAGE_SET и ты делаешь ++. при этом содержимое переменной voltage изменится только при следующем срабатывани прерыания! а цикл крутится быстро. и пока ты попадёшь в прерывание - успевает несколько раз проверить - и сделать ++ (ну или -- смотря что там выйдет.)
E-mail: info@telesys.ru