Ксения (04.07.2013 14:12 - 14:25, просмотров: 85) ответил KLIM83 на Либо жертвовать вычислительными ресурсами на остановку/ обнуление/ запуск счётчика каждый интервал измерения, ну и пропуск сигналов с датчика из этого явно вытекает; либо жертвовать опять таки вычислительными ресурсами на подсчёт разности, что к
Обнулить счетчик таймера (младшие разряды) можно без остановки/запуска, т.к. обнуление гарантирует, что в ближайшее время переполнение не произойдет. При этом подразумевается, что старшие разряды (число переполнений) считаются в переменной по прерыванию, а не аппаратным спариванием таймеров. А еще лучше - не обнулять, а вычитать из него защелкнутое значение. :)
Таким образом, процедура получается такой:
1. Аппаратный захват значения счетчика в час Х.
2. Выход в прерывание по событию этого захвата.
3. Вычитаем из значения счетчика то, что было захвачено.
4. Копируем то, что было захвачено, куда нам надо.