MK_ 0 7 июня, 2021 Опубликовано 7 июня, 2021 · Жалоба Здравствуйте. Я хочу заниматься микроконтроллерами. Есть базовое понимание с++. Везде читал что под мк программируют на си. Я хотел бы узнать подходит и с++ для программирования мк. Удобно ли? Учить си не хочется так как на с++ буду разрабатывать другие программы(не под мк). Микроконтроллерами хочу заниматься для себя, а не серьезно. Было бы хорошо если бы порекомендовали книги или другие источники для изучения программирования мк(Желательно на с++). Буду благодарен. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
haker_fox 61 7 июня, 2021 Опубликовано 7 июня, 2021 · Жалоба 15 minutes ago, MK_ said: Буду благодарен. Подходит. На нём и программируем. Книги, советы, всё ищите на форуме. Буквально пару дней назад обсуждали. Гуглом же умеете пользоваться? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
heavyC1oud 0 7 июня, 2021 Опубликовано 7 июня, 2021 · Жалоба 7 минут назад, MK_ сказал: Я хотел бы узнать подходит и с++ для программирования мк. Подходит 7 минут назад, MK_ сказал: Удобно ли? Удобно, если знаешь что делать. Для начинающих неудобно, т.к. большинство материалов на С. Не очень понятно, что значит базовое понимание С++, плюсы скорее включают си, изучишь плюсы, будешь знать и си, у микроконтроллеров своя специфика, нужно понимать устройство железа, уметь работать на низком уровне с регистрами и прочее, для этого си хорошо подходит. В любом случае стоит купить какую-нибудь отладку по своему бюджету, найти обучающие материалы по ней, их много, лучше те, что понравятся по стилю изложения, помигать светодиодами ну и дальше к чему душа лежит, стоит начать, дальше будет понятнее Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MK_ 0 7 июня, 2021 Опубликовано 7 июня, 2021 (изменено) · Жалоба Хорошо спасибо всем. Изменено 7 июня, 2021 пользователем MK_ Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Tarbal 4 8 июня, 2021 Опубликовано 8 июня, 2021 · Жалоба 11 hours ago, MK_ said: Здравствуйте. Я хочу заниматься микроконтроллерами. Есть базовое понимание с++. Везде читал что под мк программируют на си. Я хотел бы узнать подходит и с++ для программирования мк. Удобно ли? Учить си не хочется так как на с++ буду разрабатывать другие программы(не под мк). Микроконтроллерами хочу заниматься для себя, а не серьезно. Было бы хорошо если бы порекомендовали книги или другие источники для изучения программирования мк(Желательно на с++). Буду благодарен. Для тех кто знает C++ скидка. Учить C необязательно. C это подмножество C++. На C++ можно неожиданно сделать неэффективное решение. Если вы начинаете, то не все хорошо понимаете и можете напороться. C ближе к природе. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
haker_fox 61 8 июня, 2021 Опубликовано 8 июня, 2021 · Жалоба 2 minutes ago, Tarbal said: На C++ можно неожиданно сделать неэффективное решение. Как и на любом другом языке. Почему именно на Си++ акцент сделали? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Tarbal 4 8 июня, 2021 Опубликовано 8 июня, 2021 · Жалоба 4 minutes ago, haker_fox said: Как и на любом другом языке. Почему именно на Си++ акцент сделали? Потому, что на плюсах можно определить тяжелый оператор или вызвать невинной строчкой цепочки из десятка тяжелых конструкторов. Оно неочевидно и может для начинающего оказаться неожиданным. Эдакий сюрприз будет для программы реального времени. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
haker_fox 61 8 июня, 2021 Опубликовано 8 июня, 2021 · Жалоба 17 minutes ago, Tarbal said: Оно неочевидно и может для начинающего оказаться неожиданным. Не споря с вами лишь подчеркну, что для начинающего вообще многое может оказаться неожиданным. Например, что невинная пара функций malloc/free на том же Си, и вполне безобидная на ПК (а ведь обычно по таким книжкам учат язык) может привести к полной неработоспособности программы на микроконтроллере. Тут, самое главное на мой взгляд, важно, чтобы рядом с начинающим был мастер или наставник. Иначе начинающий будет сам скитаться в поисках выхода, а может быть и бросит начатый путь... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Tarbal 4 8 июня, 2021 Опубликовано 8 июня, 2021 · Жалоба 1 hour ago, haker_fox said: Не споря с вами лишь подчеркну, что для начинающего вообще многое может оказаться неожиданным. Например, что невинная пара функций malloc/free на том же Си, и вполне безобидная на ПК (а ведь обычно по таким книжкам учат язык) может привести к полной неработоспособности программы на микроконтроллере. Тут, самое главное на мой взгляд, важно, чтобы рядом с начинающим был мастер или наставник. Иначе начинающий будет сам скитаться в поисках выхода, а может быть и бросит начатый путь... Я на микроконтроллерах старался не пользоваться аллокацией памяти. Да и начинал я с такой мелочевки. На PIC16C71 вообще было 23 байта памяти данных. И ничего даже коммерческие продукты на нем делал. Даже принимающий модем FSK1200/2200 на нем сделал. Офигеть! в 1996м сделал до сих пор продают:https://www.ebay.com/itm/283739747358?hash=item421034f41e:g:iqgAAOSw99ReGbLM Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
haker_fox 61 8 июня, 2021 Опубликовано 8 июня, 2021 · Жалоба 10 minutes ago, Tarbal said: Я на микроконтроллерах старался не пользоваться аллокацией памяти. Это был всего лишь пример того, что может ожидать новичка) 11 minutes ago, Tarbal said: На PIC16C71 вообще было 23 байта памяти данных. Я вас понимаю. Мой первый МК был PIC16F84. Там было чуть больше памяти + банки с памятью. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
rkit 4 8 июня, 2021 Опубликовано 8 июня, 2021 · Жалоба Стандартная библиотека С++ не оптимизирована для МК, поэтому с этим нужно осторожно. С языком самим по себе проблем нет, шаблоны и классы здорово упрощают жизнь. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
haker_fox 61 8 июня, 2021 Опубликовано 8 июня, 2021 · Жалоба Just now, rkit said: Стандартная библиотека С++ не оптимизирована для МК Что вы имеете в виду: какой компилятор, какие функции? Я использую IAR 8.40.1 и смотрел ассемблерный выхлоп для некоторых функций, вполне себе адекватный результат. При этом я не сторонник использования таких штук как std::string/vector/map. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Tarbal 4 8 июня, 2021 Опубликовано 8 июня, 2021 · Жалоба 19 minutes ago, haker_fox said: Это был всего лишь пример того, что может ожидать новичка) Я вас понимаю. Мой первый МК был PIC16F84. Там было чуть больше памяти + банки с памятью. Ну да! 84 был с флеш памятью, а 71 одноразовое программирование. Были правда с ультрафиолетовым окошком, но я на эмуляторе отлаживал. Хотя модем вообще при помощи осциллографа отлаживал. Не было тогда эмулятора под рукой. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
haker_fox 61 8 июня, 2021 Опубликовано 8 июня, 2021 · Жалоба 3 minutes ago, rkit said: С языком самим по себе проблем нет, шаблоны и классы здорово упрощают жизнь. +1. Just now, Tarbal said: Ну да! 84 был с флеш памятью, а 71 одноразовое программирование. Да понимаю, понимаю. Я знаю различия между серией F и C тех пиков) 1 minute ago, Tarbal said: Были правда с ультрафиолетовым окошком И это тоже знакомо) Программировал и стирал такие штуки) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Tarbal 4 8 июня, 2021 Опубликовано 8 июня, 2021 · Жалоба 3 minutes ago, haker_fox said: И это тоже знакомо) Программировал и стирал такие штуки) О! Я на РК86 как на устройстве разработки делал проект для контроллера на 580ИК80 в конце 80х. Вот тогда 2 килобайтных 573РФ2 и 573РФ5 напрограммировал и настирал. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться