یک تکنیک برنامه نویسی هست به نام RTOS مثلا یک میکروکنترلر 3 تا تایمر داره
شما باید به نحوی وقفه این تایمر ها رو تنظیم کنید که با سرعت بالایی خواسته شما رو انجام بدن در وقفه تایمر
ضمن اینکه وقفه های تایمر برای خود CPU ارجحیت بندی شده.
هنگامی که وقفه تایمری رخ داد و شما محاسباتتون انجام دادید باید در نظر بگیرید که متغیر مقدار خودشو از دست نده و وقفه وارد LOOP نشه ...
در واقع چون CPU AVR تک هسته هست و بر مبنای ترتیبی کار میکنه ، هرگز نمیشه همزمان برنامه هایی رو اجرا کرد اما با شیوه هایی میشه اختلاف همزمانی اجرا رو کاهش داد.(کارهای سبک)
اما!
ARM های سری کرتکس مثلا LPC1768 Cortex-M3 این میتونید تا 4 تا برنامه هم زمان اجرا کنید ! CPU مثلا 120 MHZ هست. میتونید 4 تا برنامه با کلاک 120 مگاهرتز هم زمان اجرا کنید
FPGA هم که کلا REAL TIME هست برای اجرای هم زمان هیچ محدودیتی نداره..مثلا 256 تا همزمان میتونه کار انجام بده که اغلب برای کارای گرافیکی ازش استفاده میشه.یعنی میان ترتیبیش میکنن !
پیرو RTOS لینکهای زیر ببینید:
بوت های تحت RTOS
RTuinOS: A Real Time Operating System (RTOS) for Arduino 1.0.1
A tiny RTOS for Arduino AVR boards
FreeRTOS 8.2.3 Arduino Libraries