Узнайте как грамотно использовать все возможности языка Си для программирования микроконтроллеров!

В чем главная сложность написания программ под микроконтроллеры или Arduino по сравнению с традиционным программированием для персональных компьютеров?

Есть такой анекдот...

Студент сдает экзамен по электротехнике. Отвечает прекрасно, поражает преподавателя своими знаниями, тот ставит ему "отлично", а потом спрашивает:

- Слушайте, неужели вы действительно все так блестяще понимаете?

- Да не все, - мнётся студент. - Есть у меня один неясный вопрос. Ведь переменный ток - он вот такой. (Студент чертит рукой в воздухе синусоиду) Так как же он по прямым проводам проходит?

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

   Что если управление осуществляется мощным полевым транзистором или другими силовыми элементами?

   Некорректная подача управляющего напряжения – компонент сгорел.
   Задержка или опоздание управляющего напряжения на несколько миллисекунд – компонент сгорел.
   Ошибка в циклограмме работы – и компонент опять сгорел.

"Самая ужасная ситуация это когда только кажется, что ошибки нет.А на самом деле, ошибка глубоко запряталась в программе и ждет своего часа."

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

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

Этот видеокурс специально создан для тех, кто хочет во всех тонкостях освоить язык программирования С для микроконтроллеров.

Лучше один раз увидеть! Специальный видеокурс позволяет усвоить возможности языка С в течение одного месяца. Вам не нужно будет штудировать учебники и вникать в ход мыслей их автора. Все действия вы увидите на экране в режиме реального времени. Наглядные уроки позволят максимально быстро овладеть навыками программирования микроконтроллеров на языке С.

Подробнее о курсе

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

   Правда в том, что хороших книг по программированию микроконтроллеров на языке С вообще нет!

   Точнее есть, но исключительно на английском языке, которые можно заказать с Amazon'a по средней цене 150..200$. Это около (8000..11000 рублей)

   Из всех известных мне книг на русском ни одна книга в полной мере не раскрывает основы языка С применительно к программированию микроконтроллеров.

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

Не подойдет, если вы плохо разбираетесь в электронике или совсем не понимаете что такое микроконтроллер.

Подойдет, вы у вас есть желание учится.

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

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

Не подойдет, если вы не готовы серьезно заниматься.

Другими словами, узнаете ли Вы что-то новое из курса?
Для этого Вы можете пройти небольшой тест, ответив на 4 вопроса ниже:

1. Если a32 это 32-разрядная беззнаковая переменная, то какое число будет в переменной после выполнения 4 строк ниже?  
   *( ((uint8_t *)&a32) + 0 ) = 0x66;  
   *( ((uint8_t *)&a32) + 1 ) = 0x77;  
   *( ((uint8_t *)&a32) + 2 ) = 0x88;  
   *( ((uint8_t *)&a32) + 3 ) = 0x99; 

2. Для чего используется выражение ниже?  
   while(*string) outUart(*string++); 

3.Что не так с проверкой условия?  
   if(a*a*a>b/10 && b==0){
      ...  
   } 

4.Что произойдет после выполнения этих двух строк?  
   action = ( void(*)(void) )0x3C00;  
   action();


Если Вы не только правильно ответили на все вопросы, но и хорошо понимаете смысл этих выражений, то, скорее всего, курс никаких новых знаний Вам не даст.

Отправьте свой вопрос по e-mail внизу страницы. Или задайте через форму обратной связи на правой стороне страницы.