zltigo,
программа работает так: инициализируются прерывания на изменение уровня на ножках процессора, к этим ножкам подключаются энкодеры (от моторов). Т.о. при вращении двигателя возникают П-образные сигналы, и прерывание, отвечающее за обработку этих ножек, увеличивает или уменьшает счётчики (смотрит на ножки, соответствующие каналам А или Б энкодеров).
Т.о. скорость вызовов функции-обработчика прерываний всё время разная, но не меняется скачками, и моментов, когда процессор загружен на 100% в течении очень короткого времени, а в остальное на 0 с чем-то, быть не может

Параллельно с этим, работает таймер на частоте 500 Гц. Функция обработки прерываний этого таймера смотрит на переменные, изменяемые энкодерами, и в зависимости от этого выполняет некоторые действия (слудящая, блок принятия решений и т.д.)
На самом деле в функции main() в дальнейшем должен появиться некоторый код

, так вот мне интересно, сколько ресурсов жрёт следящая, и хватит ли моего at91sam7s на выполнение той проги, которую я в main'е напишу.
P.S. И ещё параллельно с этим функция таймера отправляет данные по uart'у и вызываются прерывания переполнения буфера dma контроллера.
KRS, а это не эквивалентно тому, что я выше написал? Просто так проще

и таймер лишний юзать не надо.
Сообщение отредактировал Pasha 111 - Jul 21 2006, 09:21