2013-09-25 3 views
0

Я быстро просмотрел библиотеку Arduino Servo, и это довольно сложно. Ясно, что он ждет, когда выдается команда записи. Тот факт, что он блокирует, делает очень медленным объединение команды сервомотора с другим кодом или управление несколькими сервоприводами (например, рукой с 5 пальцами).Параллельный доступ к серводвигателям в Arduino

Одним из подходов было бы иметь многопоточную библиотеку на Arduino, но я не видел библиотеки с несколькими потоками на Arduino. Но для управления несколькими сервоприводами было бы так же полезно иметь асинхронный API, который позволяет нам устанавливать n серво-запросов, а затем сказать «идти», и все они идут одновременно. Есть ли такой API? Есть ли причина в оборудовании, что это невозможно сделать?

ответ

0

Многопоточность на Arduino невозможна, поскольку она не использует тот же самый процессор, который вы найдете на своем компьютере.

Выполнение нескольких действий сразу невозможно. Вы можете попытаться имитировать способ, и операционная система работает с процессами, но это будет непросто.

Если вам нужно больше энергии и больше «интеллект», почему бы не попробовать малиновый пи?

+0

Это просто глупо. Это процессор 16 МГц, хотя и с очень небольшой оперативной памятью. Многопоточность возможна, просто медленная и с крошечной рамкой стека. Тем не менее, я в основном хотел другого решения. – Dov

+0

можете ли вы быть более точным в том, что вы называете «многопоточным»? – ladislas

Смежные вопросы