ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Воскресенье
5 мая
1429521 Топик полностью
il-2 (24.04.2024 16:54, просмотров: 96) ответил ar-elec на Ну ок, неправ я. Не написал явно, что результат этого func'а возвращается и используется там, откуда его вызвали. Т.е. на самом деле
Ну вот, уже что-то осмысленное. У задачи повышения разрядности таймера, и получения правильного значения есть классическое решение, без запрета прерываний вообще. 

1. В обработчике прерывания по переполнению таймера делается тупой инкремент переменной, где хранится старшая часть счетчика.

2. В функции чтения значения счетчика выполняется чтение и объединение счетчика таймера (младшей части) и переменной со старшей частью счетчика. Затем выполняется повторное чтение старшей части счетчика и сравнение с предыдущим считанным значением. Если значение не изменилось - выходим, если изменилось - повторно читаем счетчик таймера (младшую часть) и выходим.