KOTик писал(а):1/4 000 000 = 0,000 000 25
разве нет?
Да. Только результат в микросекундах. Оно же равно 0,00025 миллисекунд.
KOTик писал(а):16-битный таймер переполнится через 65535, а у вас 65536 - почему так?
Потому что речь идет именно о переполнении. То бишь о моменте, когда счетный регистр перевалится через максимальное значение. А это 65536 такт.
KOTик писал(а):и тут тоже, 0,00000025* 64 = 0,000016мс.
Про это уже сказал. 0,000016 мкс = 0,016 мс.
KOTик писал(а):Следовательно, 1000мс / 0,000016мс = 62 млн. 500 тысяч!
Нет конечно, это же очевидная ересь. Впрочем, как и это:
KOTик писал(а):за 1 секунду: 1000*0,0068сек. = 6,8 тиков.
Ну ясно же, что это не так. Тут даже знаний не надо, достаточно воображения. МК делает 4 миллиона тактов в секунду, а тут 6 тактов за секунду !!! Касаемо Вашего примера, то при частоте 9,6 МГц период равен 1 / 9 600 000 = 0.00010416666 мс. Переполнение 8-ми битного таймера произойдет через 0.00010416666 * 256 = 0.02666666666 мс. С прескаллером 256 таймер переполнится через 0.02666666666 * 256 = 6.82666666667 мс. И дело даже не в этом. У Вас в обработчике таймера стоит задержка на 10 мс. Так зачем Вы пытаетесь что-то посчитать? У Вас же весь расчет летит к чертям из-за этой задержки. Запомните раз и навсегда: никогда не используйте задержки в обработчиках прерывания. В приличном обществе таким руку не подают.
