О курсе Микроконтроллеры для начинающих

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

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

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

По каждому разделу я постарался ответить на два вопроса:

  1. Зачем это надо знать.
  2. Почему это важно.

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

Для начала список основных (но не всех!) разделов:

  1. Что такое микроконтроллер.
  2. Выбор микроконтроллера.
  3. Языки программирования.
  4. Первый проект.
  5. Программаторы.
  6. Программирование в машинных кодах.
  7. Среда разработки.
  8. Эмуляция работы устройства на микроконтроллере.
  9. Программирование микроконтроллеров.
  10. Обвязка микроконтроллера - основы электроники.
  11. Прерывания.
  12. Энергонезависимая память.
  13. Таймеры.
  14. Динамическая индикация.
  15. Передача данных: ИК-канал, шина SPI, шина I2C, шина 1-WIRE

А теперь более подробно. Напомню, что по каждому разделу я постараюсь ответить на два вопроса: 1) зачем это надо знать и 2) почему это важно.

Что такое микроконтроллер

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

Выбор микроконтроллера

Я уже коротко говорил об этом ранее. Здесь чуть более подробно.

  1. Это надо знать. Потому что вы должны понимать, по каким характеристикам выбирается микроконтроллер. А также почему мы выбираем того или иного производителя, или то или иное семейство микроконтроллеров.
  2. Это важно. Потому что выбрав один раз производителя и/или семейство микроконтроллеров, вы уже не захотите менять его. Потому что вы уже привыкнете к среде разработки, изучите набор команд, принципы работы с портами ввода-вывода и т.п. И переучиваться не будет ни времени, ни желания.

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

  1. Это надо знать. Почему, надеюсь, понятно - без знания языка программирования невозможно написать программу.
  2. Это важно. Потому что языки программирования бывают разные. Например, низкого уровня и высокого уровня. У каждого свои преимущества и недостатки. Это важно знать и понимать, и выбирать язык исходя из задач и сроков выполнения.

О языках программирования микроконтроллеров я ещё расскажу в отдельной статье.

Программаторы

  1. Это надо знать. Написать и отладить программу можно и без программатора. Для этого достаточно среды разработки. Но знать о программаторах надо, потому что...
  2. Это важно. Потому что без программатора вы не сможете закачать программу в микроконтроллер. Следовательно, не сможете создать настоящее устройство.
ПРИМЕЧАНИЕ
Для обучения можно обойтись без программатора. Изучать программирование можно используя только среду разработки.

Программирование в машинных кодах

  1. Это надо знать. Хотя бы в общих чертах. Потому что профессионал должен понимать, как работает микроконтроллер.
  2. Это важно. Потому что это превращает любителя в профессионала.

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

Об этом я тоже уже говорил. Освежить память можете здесь или здесь.

  1. Это надо знать. Потому что среда разработки - это ваш рабочий инструмент. Любой профессионал должен владеть инструментом в совершенстве.
  2. Это важно. Потому что от уровня владения инструментом зависит качество работы профессионала, а также сроки выполнения задач.

Эмуляция работы устройства на микроконтроллере

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

Программирование микроконтроллеров

  1. Это надо знать. Надеюсь, уже нет необходимости объяснять, зачем.
  2. Это важно. Конечно важно. Без этих знаний вы не заставите микроконтроллер даже включить светодиод.

Обвязка микроконтроллера

  1. Это надо знать. Человек, который создаёт устройства на микроконтроллерах, скорее программист, чем электронщик. Потому что те задачи, которые раньше выполняли электронные компоненты, в устройстве на микроконтроллере выполняет программа. И всё же совсем без электроники не обойтись. Вы должны знать хотя бы основные электронные компоненты, которые подключаются к микроконтроллеру.
  2. Это важно. Потому что без этого вы не сможете создать надёжное устройство.

Прерывания

  1. Это надо знать. Когда я учился в универе, нас пугали словом “прерывания”. И если в курсовой или контрольной по программированию студент НЕ использовал прерывания, то оценка сразу была на балл ниже. На самом деле это не так страшно. Особенно если рассказывают об этом понятным языком с хорошими примерами.
  2. Это важно. Потому что практически любое серьёзное устройство отслеживает какие-то события, реакция на которые должна быть мгновенной. Ну, например, если сработал пожарный датчик, то ваше устройство должно сразу же об этом просигнализировать, а не ждать, когда закончится какой-нибудь цикл в вашей программе. Для подобных целей как раз и используются прерывания.

Энергонезависимая память

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

Таймеры

  1. Это надо знать. Сложно представить современное устройство, где не выполнялся бы в том или ином виде отсчёт времени. Поэтому работать с таймерами надо уметь.
  2. Это важно. Потому что умные устройства должны уметь ориентироваться не только в пространстве, но и во времени.

Динамическая индикация

  1. Это надо знать. Ввод-вывод - это основа основ программирования. Пользователю необходимо вводить данные и получать информацию от устройства. Но представьте, что вы делаете домофон. На клавиатуре будет не менее 12 кнопок. И что? У микроконтроллера должно быть не менее 12 входов? Или выводите информацию на два семисегментных индикатора (2х7 = 14 сегментов). И что, у микроконтроллера должно быть не менее 14 выходов? А если вам надо вывести данные на 4 таких индикатора? На самом деле есть решения, которые позволяют решить подобные задачи более экономно.
  2. Это важно. Потому что информативность - это одно из конкурентных преимуществ вашего устройства. Если вы не умеете получать данные от пользователя и понятно для него данные отображать, то никому ваше устройство будет не нужно.

Обмен данными

  1. Это надо знать. Сегодня существует множество стандартных интерфейсов для обмена данными между устройствами. Если вы хотите, чтобы ваше устройство могло обмениваться данными с другими устройствами, то надо знать хотя бы основные их этих интерфейсов.
  2. Это важно. Любой человек должен уметь встраиваться в общество. Также и современное устройство должно уметь встраиваться в какую-нибудь систему. Например, если вы создаёте какой-нибудь измеритель температуры, то хорошо, если он будет показывать значение температуры своему владельцу. А что если этот владелец захочет встроить этот измеритель в свою систему? Как он получит данные от вашего устройства? Если ваше устройство способно передавать данные по какой-либо стандартной шине - то это тоже конкурентное преимущество. Потому что его более охотно купят, чем точно такое же, но без функции передачи данных.

Надеюсь, теперь вы понимаете, что курс “Программирование микроконтроллеров для начинающих” не случайно содержит именно такой набор разделов. Потому что все они важны. Знание и умение использовать эти сведения - это первый (но очень серьёзный!) шаг на пути от полного нуля к профессиональному программисту.


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

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

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

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

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

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

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