Странная полемика. МК выбирается исходя из потребностей задачи. Походу это правило все забыли.
Мой случай.
Недавно проводил дома обновление коммуникаций наряду с капитальным ремонтом дома.
В подвальной мастерской под шумок заменил всю проводку. А вот кинуть кабель с дому в подвал забыл.
После того, как все заделали, зашпатлевали и закрасили, портить вид кабелем уже не хотелось.
А ведь я хотел помимо интернета по оставшимся парам кинуть RS-485 для охранки и прочих нужд.
Пришлось идти другим путем. Купил
PLC модемы (девайсы позволяют гонять данные по обычной квартирной проводке)
и решил так проблему с интернетом. Но ведь надо было решить проблему еще и с техническими коммуникациями.
Решение пришло само собой.
STM32F407 с Ethernet PHY. Почему 407й? Запас на будущее. За то, у меня появилась
прорва интерфейсов. Два CAN, два RS-485 и голосовой интерком для связи с квартирой.
Я незнаю, как восьмибитка с этим бы справилась. Сколько гигагерц ей бы потребовалось, чтобы пропустить
через себя столько потоков данных одновременно? А ведь TCP/IP сам по себе сложен. Получи пакет, проверь,
тебе ли он предназначен, передай данные нужному интерфейсу, в зависимости от того, по какому номеру порта он пришел.
Сформируй пакет и т.д. и т.п. Плюс, самостоятельный опрос всех устройств на шинах и вывод на дисплей данных из них.
Следующая проблема. В мастерской нет нормального протока воздуха, в результате чего возникает сырость и
портятся детали, инструмент, приборы и прочее. В качестве решения пришла
tiny2313 с релюхами для коммутации
вентиляторов и несколько датчиков температуры/влажности с шиной 1-wire. В качестве фичи, встроенный UART
был задействован для удаленного считывания значений со всех датчиков, состояний вентиляторов и добавилась
возможность удаленно задавать значения порогов срабатывания каждого вентилятора в отдельности.
Код, правда, пришлось тромбовать
ногами ассемблером.
Простой тиньки тут хватило с лихвой.
Вот и пример двух задач, где применились слон и моська.
Да, кстати.
HHIMERA. С предыдущим постом согласен.
Я тоже сторонник использовать периферию по максимуму. То есть, стараюсь возложить
максимум задач на аппаратный уровень. И подальше держусь от программных ногодрыгов.
При возрастании сложности программы, так-же возрастают и проблемы с ногодрыгами.
Как-то в одном проекте я даже отказался от программного ногодрыга 1-wire и поставил
дорогущую
DS2482-100. Ибо были частые прерывания, портящие обмен по этой шине.
Знаю, можно было UARTом воспользоваться, но он был уже занят.