Некое устройство будет управляться с помощью блютуз с телефона. По такоему признаку, нажал кнопку - отправилась команда, держишь кнопку- это команда отправляется постоянно. Нужно сделать так, что бы пи получении какой-либо команды, пускай будет "P", у меня начинали крутиться сервы. При получении другой команды, переставали. Мне главное сделать так, что вот послал команду, сервы начали крутиться постоянно, но не мешали основной программе. Это возможно сделать? Помогите, а то туплю серьезно..
Посмотрите пример BlinkWithoutDelay... По сути в тело void loop() необходимо положить несколько главных функций, которые постоянно проверялись и исполнялись контроллером, типо: Код (C++): void loop(){ func1(); func2(); func3(); } P.S. Как таковой "многопоточности" нету (как в том же ПК), её можно только симулировать...
ну поскольку работу сервы можно обеспечить одним- единственным прерыванием по таймеру, то можно считать ее работу параллельной. У меня так 8 серв на одном таймере крутятся - каждые 4 мС в таймер пишется соотв. значение из массива 8 unsigned char, выставляется соотв. пин в 1, через это значение прерывание по таймеру обнуляет и получается импульс на серву, итого 8 тактов на одну серву.