Языки программирования микроконтроллеров

Микроконтроллеры / Для начинающих /

Микроконтроллеры для начинающих Что нужно для того, чтобы стать профессиональным разработчиком программ для микроконтроллеров и выйти на такой уровень мастерства, который позволит с лёгкостью найти и устроиться на работу с высокой зарплатой (средняя зарплата программиста микроконтроллеров по России на начало 2017 года составляет 80 000 рублей). Подробнее...

Был период, когда я вообще ничего не знал о микроконтроллерах.

Был период, когда я думал, что программы для микроконтроллеров создаются точно также, как и для компьютеров.

Был период, когда я думал, что программировать микроконтроллеры можно только на ассемблере.

Как видите, я довольно долго заблуждался. Да и хрен бы с ним и со мной. Но ведь это происходит почти со всем новичками!

Поэтому я решил рассказать о том, какие языки программирования микроконтроллеров существуют.

Итак, вот список (не полный) языков программирования микроконтроллеров:

  1. Ассемблер
  2. С
  3. С++
  4. PL/M
  5. Форт
  6. Бэйсик
  7. Паскаль
  8. Python

Однако наиболее распространённые языки - это Ассемблер и С. Вот о них мы немного и поговорим.

Как вы понимаете, языки бывают низкого уровня, и высокого уровня. В нашем случае язык низкого уровня - это ассемблер, а высокого - язык С.

В чём их преимущества и недостатки?

Совместимость и переносимость кода

У каждого микроконтроллера свой набор команд и свой язык ассемблера. Это проблема. Потому что:

  1. При переходе на другую модель микроконтроллера вам придётся по новой изучать набор команд и язык.
  2. Если вы захотите перенести готовую программу на другую модель микроконтроллера, то вам придётся её (программу) переписывать заново.

Однако, эти проблемы возникают только в том случае, если вы используете ассемблер. Если же ваша программа на языке высокого уровня, то про эти проблемы можно забыть (хоть и не полностью).

Быстродействие

А вот тут Ассемблер выигрывает, потому что даже очень хорошо написанная программа на языке высокого уровня в большинстве случаев будет проигрывать по быстродействию программе на ассемблере.

Правда, современные микроконтроллеры довольно быстрые, поэтому это преимущество не всегда имеет значение.

Время на разработку

Здесь ассемблер снова проигрывает. Потому что создавать программы на языке высокого уровня намного быстрее и проще.

Средства разработки

Почти все современные средства разработки поддерживают языки ассемблера и С. Но вот такие языки как Бэйсик или Паскаль обычно в стандартных средствах разработки отсутствуют. Поэтому, если вы хотите создавать программы именно на этих языках, то вам придётся воспользоваться инструментами сторонних разработчиков. Разумеется, без каких-либо гарантий, что они правильно будут транслировать исходники в машинные коды.

Профессионалы и любители

Если вы профессиональный программист, то вам, скорее всего, приходится иметь дело с разными моделями микроконтроллеров, и у вас очень мало времени на разработку. Поэтому профессионалы, как правило, создают программы на языках высокого уровня.

Если же вы любитель (или начинающий), то вы, скорее всего, экспериментируете с одной-двумя моделями микроконтроллеров, и время для вас не имеет значения. Поэтому любителям достаточно изучить один язык ассемблера и набор команд для одного вида микроконтроллеров.

Обучение и понимание работы программы

Здесь я ставлю на первое место ассемблер. Потому что программа на ассемблере более прозрачна, вы однозначно и чётко видите, что она делает, какие флаги устанавливает, какие регистры использует и т.п.

И, несмотря на то, что ассемблер более сложный язык, чем С, а тем более Паскаль или Бэйсик, начинать я советую именно с ассемблера.


Вступить в группу "Основы программирования"

Подписаться на RUTUBE-канал

Подписаться на Дзен-канал

Подписаться на рассылки по программированию

Микроконтроллеры для ЧАЙНИКОВ Микроконтроллеры для ЧАЙНИКОВ

Бесплатная рассылка о микроконтроллерах. Рассылка содержит как бесплатную информацию для начинающих, так и ссылки на платные продукты (книги, видеокурсы и др.) для тех, кто захочет вникнуть в тему более глубоко. Подробнее...

Инфо-МАСТЕР ®
Все права защищены ©
e-mail: mail@info-master.su