ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Суббота
23 ноября
663952 Топик полностью
imhoteb (30.03.2016 08:15, просмотров: 190) ответил MBedder на Давай
Может вопрос и тупой, просто хотел проверить правильно ли я все понимаю. 1. Счетчик RTC 16 битный работает сам по себе асинхронно 2. Берем пока то что "работает" - внешний кварц 32.768Кгц, соответственно синхранизируемся от него без делителей то есть от полной частоты 32768Гц. 3. Я буду отслеживать 32767, и просто буду использовать прерывание от этого таймера чтобы там обновлять часы, ну и плюс в этом же прерывании делать еще пару моментов нужных. 4. Если я правильно понял даташит то, если я запишу в регистр по переполнению RTC_PER=32768, то счетчик достигнув этого значения вызовет прерывание не досчитав до 65535 и начнет считать с нуля. Что мне при этом записать в регистр по сравнению RTC_COMP? Оставить нулевым? Как понимаю при сбросе счетчика по переполнению также произойдет срабатывание по сравнению? 5. К примеру если я заполню RTC_PER=60000 а RTC_COMP=30000 То как понимаю у меня будет первое прерывание по сравнению когда будет 30000 и потом буде второе попереполнению когда будет 60000 и в этот момент счетчик обнулится. Верно же? 6. Если к примеру оба значения одинаковые RTC_PER=RTC_COMP=30000 как понимаю будет только одно прерывание так как одновременно выполнятся 2 условия и по сравнению и по переполнению и счетчик обнулся и выполнится прерывание 7. А если RTC_COMP будет больше RTC_PER? Будет обнулся счетчик по значению RTC_PER и по идее просто не будет прерывания по RTC_COMP, так как переполнение будет наступать раньше и до RTC_COMP счетчик просто никогда не дойдет. 8. А если будет RTC_PER=RTC_COMP=0 просто будет постоянно как понимаю генериться прерывание?