Звичайно, мікроконтролер виконує ряд завдань Якщо завдання вимагає постійної уваги процесора, то можна використовувати переривання Але як бути, якщо є дві або більше завдань, що вимагають постійної уваги процесора

У цьому випадку я б використав два мікроконтролера, кожен з яких зайнятий своїм завданням, зрідка відволікаючись на обмін думкою з другим мікроконтролером Такий варіант я покажу на прикладі робота ROBOPICA Приклад умовний, але .. я хочу показати, як, відштовхуючись від ідеї, просунутися до конкретного рішення

Серед програм для ROBOPICA є програма руху робота, що дозволяє йому обїжджати перешкоди, зустрінуті на шляху Ідея в тому, щоб перевіряти наявність перешкоди, скажімо праворуч від робота Якщо робот при своєму русі виявляє перешкоду перед собою, він зупиняється і звертається до другого микроконтроллеру, який перевіряє, чи вільний шлях праворуч, якщо вільний, робот повертає праворуч, якщо ні, то наліво

До слова, другий далекоміра у мене немає Розібємо завдання на підзадачі: обмін даними між двома микроконтроллерами створення власного далекоміра обслуговування цього далекоміра другим мікроконтролером за запитом робота

Почати можна з будь підзадачі, але розумніше першим завданням позначити «створення власного далекоміра»

Джерело: Гололобов ВН, – Самовчитель гри на паяльнику (Про електроніці для школярів і не тільки), – Москва 2012