Первое чем обычно задаются люди приступившие к изучению микроконтроллеров это: на каком языке писать программы? Если почитать бурные обсуждения этой темы в сети то можно найти все точки зрения, вплоть до ручного управления тумблером в битовом режиме.
Защитник того или иного языка приводит веские доводы по чему надо использовать именно то что он предлагает. И всё вроде правильно, так как каждый имеет свою точку зрения на этот вопрос.
А теперь я вам расскажу с чего сегодня начинается программирование. Возможно через десяток лет всё изменится, но пока что это актуально. Подразумевается что вы только начали свой путь к микроконтроллерам.
Вам надоело клеить кучу микросхем с обвесом на плату и вы решили заменить все это старьё одним микроконтроллером. Поздравляю, верное решение. Итак, начать вам нужно с изучения языка «С»!
Почему с «С», а ни Бейсик или Ассемблер и прочие?
Всё просто. «С» это быстрота, гибкость, универсальность, широкий охват, легкая работа в симуляторах и отладочных платформах. Любое стоящее приложение для программирования поддерживает язык «С».
На этом языке есть куча готовых библиотек программного кода, под разные микроконтроллеры для сопряжения периферийных устройств. Добавим к этому массовость и поддержку на форумах и прочих сообществах любителей программирования.
А как же языки более низкого уровня?
Можно в принципе начать и оттуда, а можно ещё построить ламповый калькулятор для наглядности. Не в обиду тем кто до сих пор пишет на языках низкого уровня. Ест отличные программы на Бейсике и других языках, но время идёт и всё меняется.
Если у вас уйма свободного времени, или вы идёте на инженерный факультет электроники, тогда вы спокойно смогли бы себе позволить начать с РУ3 в кнопочном режиме и дальше по нарастающей.
Но я подразумеваю, что вы просто любитель и хотите оседлать что то поинтереснее и с нормальным функционалом на ядре типа Atmega или Cortex.
С языками немного разобрались теперь о ядре. С каким микроконтроллером начать работу?
Для первых проектов я бы посоветовал что то популярное, распространённое и заезженное с кучей примеров и готовых проектов. Ну и должно быть побольше ног, что бы зацепить максимум устройств.
Из PIC это 16F84, Atmel — Atmega16/32/64 и старую добрую платформу 80C51 которую клепают все кому не лень. Хотя у меня душа не лежит к PIC контроллерам, но кому то они нравятся. Это видно дело вкуса, запаха и цвета.
В принципе для любителей идти широкой дорогой, можно сразу взять что то пожирнее и потолще. Допустим мне нравится по функционалу чипы Atmel AVR XMEGA. Низкое потребление ЦАП и АЦП, до 64 сенсорных каналов, RTC, контроллер ЖК, аналоговые компараторы и прочее.
Тут дело в размахе и рациональности.
Большинство современных микроконтроллеров поддерживает последовательные интерфейсы программирования. Это упрощает сборку программатора своими силами. Под популярные микроконтроллеры так же есть масса свободного софта.
Как вам статья?