Не знаю точно, как реализованы таймеры в кортексах, но вот на MSP430 есть непрерывный режим таймеров. Это такой режим, когда таймер непрерывно щёлкает по кругу, а защёлки срабатывают при совпадении. Тогда в прерывании от защёлки достаточно "зарядить" её на следующий интервал (включая настройку переключения ног) и спокойно заниматься своими делами. Ноги будут дёргаться "железно", а скорость обработки прерывания будет уже некритична. Тогда от одного таймера можно получить столько разных асинхронных интервалов и частот, сколько позволяют его защёлки (или регистры сравнения) Ну и, конечно, есть некий минимальный предел интервала, обусловленный скоростью обработки прерываний и соответственно, "перезаряда" регистров сравнения
--------------------
Программирование делится на системное и бессистемное. ©Моё :) — а для кого-то БГ — это Bill Gilbert =)
|