Перейти к содержанию
    

Подходит ли с++ для программирования мк?

Здравствуйте. Я хочу заниматься микроконтроллерами. Есть базовое понимание с++. Везде читал что под мк программируют на си. Я хотел бы узнать подходит и с++ для программирования мк. Удобно ли? Учить си не хочется так как на с++ буду разрабатывать другие программы(не под мк). Микроконтроллерами хочу заниматься для себя, а не серьезно. Было бы хорошо если бы порекомендовали книги или другие источники для изучения программирования мк(Желательно на с++). Буду благодарен.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

15 minutes ago, MK_ said:

Буду благодарен.

Подходит. На нём и программируем. Книги, советы, всё ищите на форуме. Буквально пару дней назад обсуждали. Гуглом же умеете пользоваться?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

7 минут назад, MK_ сказал:

Я хотел бы узнать подходит и с++ для программирования мк.

Подходит

7 минут назад, MK_ сказал:

Удобно ли?

Удобно, если знаешь что делать. Для начинающих неудобно, т.к. большинство материалов на С.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

11 hours ago, MK_ said:

Здравствуйте. Я хочу заниматься микроконтроллерами. Есть базовое понимание с++. Везде читал что под мк программируют на си. Я хотел бы узнать подходит и с++ для программирования мк. Удобно ли? Учить си не хочется так как на с++ буду разрабатывать другие программы(не под мк). Микроконтроллерами хочу заниматься для себя, а не серьезно. Было бы хорошо если бы порекомендовали книги или другие источники для изучения программирования мк(Желательно на с++). Буду благодарен.

Для тех кто знает C++ скидка. Учить C необязательно. C это подмножество C++.
На C++ можно неожиданно сделать неэффективное решение. Если вы начинаете, то не все хорошо понимаете и можете напороться. C ближе к природе.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 minutes ago, Tarbal said:

На C++ можно неожиданно сделать неэффективное решение.

Как и на любом другом языке. Почему именно на Си++ акцент сделали?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

4 minutes ago, haker_fox said:

Как и на любом другом языке. Почему именно на Си++ акцент сделали?

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

17 minutes ago, Tarbal said:

Оно неочевидно и может для начинающего оказаться неожиданным.

Не споря с вами лишь подчеркну, что для начинающего вообще многое может оказаться неожиданным. Например, что невинная пара функций malloc/free на том же Си, и вполне безобидная на ПК (а ведь обычно по таким книжкам учат язык) может привести к полной неработоспособности программы на микроконтроллере. Тут, самое главное на мой взгляд, важно, чтобы рядом с начинающим был мастер или наставник. Иначе начинающий будет сам скитаться в поисках выхода, а может быть и бросит начатый путь...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 hour ago, haker_fox said:

Не споря с вами лишь подчеркну, что для начинающего вообще многое может оказаться неожиданным. Например, что невинная пара функций malloc/free на том же Си, и вполне безобидная на ПК (а ведь обычно по таким книжкам учат язык) может привести к полной неработоспособности программы на микроконтроллере. Тут, самое главное на мой взгляд, важно, чтобы рядом с начинающим был мастер или наставник. Иначе начинающий будет сам скитаться в поисках выхода, а может быть и бросит начатый путь...

Я на микроконтроллерах старался не пользоваться аллокацией памяти. Да и начинал я с такой мелочевки. На PIC16C71 вообще было 23 байта памяти данных. И ничего даже коммерческие продукты на нем делал. Даже принимающий модем FSK1200/2200 на нем сделал.

Офигеть! в 1996м сделал до сих пор продают:
https://www.ebay.com/itm/283739747358?hash=item421034f41e:g:iqgAAOSw99ReGbLM

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

10 minutes ago, Tarbal said:

Я на микроконтроллерах старался не пользоваться аллокацией памяти.

Это был всего лишь пример того, что может ожидать новичка)

11 minutes ago, Tarbal said:

На PIC16C71 вообще было 23 байта памяти данных.

Я вас понимаю. Мой первый МК был PIC16F84. Там было чуть больше памяти + банки с памятью.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Стандартная библиотека С++ не оптимизирована для МК, поэтому с этим нужно осторожно. С языком самим по себе проблем нет, шаблоны и классы здорово упрощают жизнь.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Just now, rkit said:

Стандартная библиотека С++ не оптимизирована для МК

Что вы имеете в виду: какой компилятор, какие функции? Я использую IAR 8.40.1 и смотрел ассемблерный выхлоп для некоторых функций, вполне себе адекватный результат. При этом я не сторонник использования таких штук как std::string/vector/map.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

19 minutes ago, haker_fox said:

Это был всего лишь пример того, что может ожидать новичка)

Я вас понимаю. Мой первый МК был PIC16F84. Там было чуть больше памяти + банки с памятью.

Ну да! 84 был с флеш памятью, а 71  одноразовое программирование. Были правда с ультрафиолетовым окошком, но я на эмуляторе отлаживал. Хотя модем вообще при помощи осциллографа отлаживал. Не было тогда эмулятора под рукой.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

3 minutes ago, rkit said:

С языком самим по себе проблем нет, шаблоны и классы здорово упрощают жизнь.

+1.

Just now, Tarbal said:

Ну да! 84 был с флеш памятью, а 71  одноразовое программирование.

Да понимаю, понимаю. Я знаю различия между серией F и C тех пиков)

1 minute ago, Tarbal said:

Были правда с ультрафиолетовым окошком

И это тоже знакомо) Программировал и стирал такие штуки)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

3 minutes ago, haker_fox said:

И это тоже знакомо) Программировал и стирал такие штуки)

О! Я на РК86 как на устройстве разработки делал проект для контроллера на 580ИК80 в конце 80х. Вот тогда 2 килобайтных 573РФ2 и 573РФ5 напрограммировал и настирал.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...