Цитата(domowoj @ Jun 18 2008, 21:17)

Пустить таймер в "свободное плавание" и фиксировать его значения по сигналу захвата...
Именно так я и хотел сделать. А так как это моя первая в жизни программа (я не программист), то, естественно, сразу ничего не получилось, потому решил делать по частям, а именно:
- убедиться, что захват при поступлении на вход ICP1 спадающего фронта импульса происходит. Для этого в подпрограмме прерывания по захвату сделал вывод на РЕ2 "отрицательного" импульса. Убедился, что эта часть работает. В симуляторе спадающий фронт формирую, замыкая на землю вход PD4 кнопкой К0 и контролируя это на осциллографе симулятора;
- вывести на ЖКИ любое сообщение, или константу, или инкрементируемое число. Здесь не имеет значения частота поступления на вход будущего устройства импульсов от датчика скорости вращения шпинделя; просто хотел убедиться, что вывод на экран ЖКИ происходит после очередного нажатия кнопки К0 симулятора, то есть после наступления события захвата. Ан нет, не получилось: кроме естественной 2-х секундной задержки при запуске программы, вызыванной инициализацией ЖКИ, откуда-то берётся примерно такая же задержка (точное её значение в рассматриваемом случае не имеет никакого значения) при каждом нажатии кнопки К0 симулятора (то есть при каждом захвате).
Где в тексте программы ошибка?
-----
Насчёт прерывания по переполнению... Это не специально, это из-за неправильной настройки генератора начального кода CVAVR. Однако существенно ли это для заданных вопросов?
Короче, забудем начальную задачу (тахометр, и не просто, а следящий за непрерывно меняющейся скоростью вращения). Вернёмся к программе в начале темы: где в ней ошибки? Откуда задержка вывода импульсов при наступлении событий захвата? Почему после первого инкрементирования и вывода на ЖКИ числа в дальнейшем выводимое на ЖКИ число не меняется, хотя импульсы на выходе РЕ2 генерируются?
Напомню, что до этой задачи, в порядке изучения микроконтроллеров AVR, я делал вывод на ЖКИ инрементируемого числа при подаче (тоже симулятором) импульса на вход INTn - и всй работало! То есть после первой и единственной примерно 2-х секундной задержки при запуске программы дальше числа на ЖКИ выводились практически без всяких задержек (визуально).