Satyr писал(а):никогда не выбирайте кучу МК, когда можно сделать на 1 более жирным...
Ну это зависит от задачи...
К слову сказать про прерывания... делал както что-то подобное. Сначало сделал всё на прерываниях - UART + INT0 + INT1...
Но вылезла проблемка... Когда в буфер UART насыпалось... уходим на прерывание UART ... А тут сработал INT0

... Получил отложенное прерывание... Ошибка измерения 10 мкС - для меня критично! Можно было сделать вложенное прерывание... но помоему это извращение)) И всё равно будет ошибка... т.к. могут сработать UART + INT0 + INT1 одновременно!
Короче... сделал непрерывную проверку всех датчики в основном цикле, и спокойно себе регулировал, при этом периодически проверял буфер UART по флагу... Если насыполось в UART, то читаем, а если пусто, то идём дальше... Посчитал время, чтобы буфер UART не переполнялся.
А прерывание INT0 или INT1 оставил только для аварийного отключения. При перегрузки системы нужно немедленно отключить (!), а не ждать отложенного прерывания..)))
Так же скрутил два МК... один в радиомодуле, второй следит за системой. Обмениваются они между собой через буфер UART... когда МК1 свободен, то отправляет данные на МК2... А МК2 читает данные из буфера UART, только когда тоже свободен... Короче никаких прерываний по UART.
Зачем два МК? Потому что МК1 отвечал за связь - непрерывно принимал и отправлял пакеты данных по радиоканалу (режим радио ретранслятора). Некогда ему было ещё и за датчиками следить...
Думал SPI... но там один буфер, а в UART аж три ! ...)))
Както так...
А вообще... чтобы выбрать алгоритм, надо смотреть схему... что там критично, а что нет.
