2013-09-25 1 views
0

Arduino Servo 라이브러리를 빠르게 살펴 보았습니다. 분명히, 쓰기 명령이 발행 될 때까지 대기합니다. 블록킹한다는 사실은 서보 모터 명령을 다른 코드와 결합하거나 여러 개의 서보 (예 : 5 개의 손가락이있는 손)를 제어하는 ​​것을 매우 느리게 만듭니다.Arduino의 서보 모터에 대한 병렬 액세스

한 가지 방법은 Arduino에서 다중 스레드 라이브러리를 사용하는 것이지만 Arduino에는 여러 스레드가있는 라이브러리를 보지 못했습니다. 그러나 여러 개의 서보를 제어하려면 n 개의 서보 요청을 설정하고 go와 모두 동시에 진행하는 asynch API를 사용하는 것이 좋습니다. 그런 API가 있습니까? 이 작업을 수행 할 수없는 이유가 하드웨어에 있습니까?

답변

0

Arduino의 멀티 스레딩은 컴퓨터에서 사용할 수있는 것과 같은 종류의 프로세서를 사용하지 않기 때문에 가능하지 않습니다.

따라서 한 번에 여러 가지 작업을 수행 할 수 없습니다. 방법을 모방하려고 노력할 수도 있고 운영 체제가 프로세스와 작동하지만 쉬운 일은 아닙니다.

더 많은 "지능"과 더 많은 힘이 필요하다면 왜 나무 딸기 파이를 먹지 않으시겠습니까?

+0

이것은 바보입니다. 아주 작은 RAM을 가지고 있지만 16Mhz 프로세서입니다. 다중 스레딩이 가능합니다. 스택 프레임이 작아서 느립니다. 그러나, 나는 어쨌든 대부분 다른 솔루션을 원했습니다. – Dov

+0

"멀티 스레딩"이라고하는 것에 좀 더 정확하게 적용 할 수 있습니까? – ladislas