Спасибо автору! Он постарался не перегружать видео . На мой взгляд очень лаконично рассказал. Кому надо подробнее - тот понял в чём причина и разберётся сам уже.
У инструкций перехода не меньше 2 тактов на выполнение, поэтому просто перескакивают нужное значение, желательно такие вещи показывать на ассемблере да и в той же атмел студии если пошагать это прекрасно видно. Так сказать для наглядности можно было бы показать.
Эта конструкция будет работать, если включен предделитель на входе таймера. Мне не понятно, зачем вообще сравнивать таймер с константой и формировать тем самым переключение? При включённом предделителе условие будет совпадать через каждое переполнение таймера. То есть если таймер 8-ми битовый, то значит поделит частоту на (256 * 2). Лучше конечно задействовать прерывание и альтернативные функции выводов.
_Эта конструкция будет работать, если включен предделитель на входе таймера._ Конечно будет.. и работает.. Объяснения автора - не убедительно... Что печально! Хотелось бы вразумительного ответа почему эта конструкция не работает именно при отсутствии делителя... Потому что дописав несколько код - удается даже получить необходимую длительность импульсов на выходе... т.е. эдакий псевдошим.. но при отстутствии делителя работы нет. Ответа на этот вопрос так и не получено... С обработчиком прерываний - все ясно что работает... а вот почему не работает так - не разжёвано! :(((
@@ИпполитМатвеевичВоробьянин-т1п Без дизассемблирование кода и прогонка в дебагере не очень видно, но логика автора верна. Когда сравниваете с константой счётчик таймера, который крутит со скоростью машинных циклов контроллера, то вероятность совпадения мала. Тут можно сравнивать только с больше или меньше, но тогда на выходе будут уже пачки импульсов.
@@alexandrmironov7460 _но логика автора верна._ С логикой автора никто не спорит.. но почему работает с делителем автор так и не пояснил. Я правильно понимаю что частота переключений слишком высокая в случае с отключенным делителем и поэтому вероятность ошибки выше? Этот пример взят у Забарило из его курсов по микроконтроллерам... Введите "Забарило Таймер-счетчик 0 ATmega8 | Микроконтроллеры с нуля #12" т.е. это не "подписчик такой идиот" а вот такое разъяснение одного из "учителей".
@@ИпполитМатвеевичВоробьянин-т1п С делителем тоже вопрос. Честно говоря я слукавил, когда сказал,, что с делителем будет работать. Во первых нужно определить за сколько тактов крутиться цикл while(1), а это зависит от кода в теле цикла. Делитель на mega8 T0 может быть: 1, 8, 64, 256 и 1024. У таймера T2 плюс к этому ещё 32, и 128. Делитель нужно ставить не меньше, чем цикл while(1) совершит одну итерацию с наихудшими условиями. Наихудшие условия это когда в теле циклы есть ветвления, которые могут выполнятся дольше других ветвей кода. Вы совершенно верно поняли. Частота изменения таймера равна частоте работы контроллера и он, разумеется, не успевает.
@@alexandrmironov7460 _Честно говоря я слукавил, когда сказал,, что с делителем будет работать._ а я не лукавил.. работает. _T0 может быть: 1, 8, 64, 256 и 1024. У таймера T2 плюс к этому ещё 32, и 128._ Речь про Т0 идет. _Частота изменения таймера равна частоте работы контроллера и он, разумеется, не успевает._ Дык тогда видео было не нужно.. можно было просто сказать что "На маленьких частотах шанс генерации большой - на высоких частотах генерация не гарантирована т.е. это элемент случайности а значит он логически не верен" .. соответственно весь курс этого Забарило можно смело снести в сортир. А ведь таких торгующих курсами специалистов - целое ведро! Спасибо что популярно объяснили.
Автору. Просьба помогите скачать по ссылкам, по вашему материалу "Табличное вычисление температуры термистора NTC". Украина. Страницу для скачивания блокируют.