есть задача управления 12 сервомоторами(как минимум). так как аппаратно на 128 меге я этого сделать не смогу, то прийдется программно. искал по теме и ничего подходящего не нашел. если по тупому то возможно сделать примерно так, если не ошибаюсь:
...
PA.1=1;
DELAY 2 ms;
PA.1=0;
DELAY 20 ms;
...
но меня не совсем устраивает этот вариант, так как при работе всех 12 сервомоторов, а в будущем их количество планирую увеличить, это значительно снизит быстродействие контроллера и может вызвать неправильную работу приводов, что по программе недопустимо. по идее мне вобще необходимо одновременно контролировать все сервомоторы, но на практике можно ограничиться и чем нибудь более скромным.
вопрос в том, КАК можно более быстро организовать все это хозяйство? так как при управлении 12ю сервами накапливается погрешность около 12*22*0.001=0.264 секунды.
а скорость реакции стандартной сервы - 60 градусов за 0.15 секунды, что вообще недопустимо. устроило бы меня, чтобы полный цикл(чтобы прога успевала "пройтись" по всем сервомоторам) составлял 0.0025(время поворота на 1 град) сек - на крайняк 0.0030, но не больше(эта цифра связана с тем, что критическая точность изменения угла сервы - 1 градус, если за 1 цикл я буду изменять угол поворота сервы больше чем на 1 градус, то у меня сервы начнут двигатьсям не в соответствии с прогой, хотя и будут в итоге становиться в те положения, которые ей послала прога). если кому непонятно, то я нарисую. кварц стоит у меня на 16 МГц. есть вариант прицепить к моей меге еще несколько,как раз таки для контроля моих привов, но мне этот вариант кажется несколько варварским