Кстати, про сеть из контроллеров расскажу. Может не очень удачный пример, но на тот момент нам так не казалось. Был себе контроллер частотного преобразователя на TMS320F240, во многом симпатичный, за его 6-канальный ШИМ-генератор этому чипу вообще многое можно простить
Исписали ему на асме его 32 кб флешки на 99%, ОЗУ на 95% (или наоборот, щас не помню) и захотели новый. Выбор пал на LPC2129, это 2003-2004 год наверное был. ARM, gcc, красота
Но нормальный трехфазный ШИМ на нем можно получить только программно, особенность его аппаратного ШИМ - можно получить либо 6 каналов, у которых 1 фронт общий, либо 3 канала произвольных с общей частотой. А надо было 6 произвольных. Программный ШИМ на контроллере с многозадачной ОС - источник геморроя. Начали подбирать внешний ШИМ-генератор, и еще АЦП. В итоге по цене самым оптимальным получился... TMS320LF2407
Ну решили хрен с ним, напишем на тмс простейшую прогу - по spi получать задание на ШИМ и выдавать его, а обратно отправлять показания АЦП. А основные задачи будут все на LPC. Так вот, даже с простейшим spi протоколом "пакет туда - пакет сюда" возни было довольно много (ну там еще правда была задача чтоб обмен был синхронный по 1 пакету за цикл ШИМ). Вылазили какие-то ошибки неожиданные и непонятные. И щас, насколько я знаю, мои бывшие сотрудники этот контроллер подзабросили и ваяют что-то чисто на одном МК, из новых TMS. Потому как и отладка попроще - поставил точку останова, посмотрел. А когда 2 контроллера - остановил один, второй сразу рухнул в ошибку связи, и фиг его поймет что там в нем прога сделала до этого... Короче не всегда понятно кто виноват.
Хотя я вообще сам за многоконтроллерные приложения, если это оправдано - хорошо когда удается вынести в контроллер какую-нибудь функцию и забыть...