Сообщение от
Northwood
P.s. Пока разбирался с таймерами прерываний, МК мне вынес мозг. Сами внутренние прерывания у меня заработали сразу, но когда я пытался заставить их срабатывать 1 раз в секунду, вместо этого они срабатывали 256 раз в секунду.
Оказалось, что в 16-битном регистре OCR1A на счёт оказывал влияние только младший байт, а старший, что бы я туда не заносил, было без толку, не менялось ничего.
И вот только под вечер я наткнулся на статью, где описан один подводный камень: Оказывается, что когда я записываю в 16-битный регистр значение, сначала надо записывать обязательно старший байт, а потом младший, но ни в коем случае не наоборот, иначе старший байт обнуляется! В даташите об этом факте или не сказано ничего или я просто не нашёл упоминание о нём, в любом случае, в даташите упоминание об этом факте не лежит на поверхности в разделе описания регистров OCR1A и OCR1B.