С чего начать программировать микроконтроллеры?

Здесь принимаются все самые невообразимые вопросы... Главное - не стесняйтесь. Поверьте, у нас поначалу вопросы были еще глупее :)
koeltrad
Потрогал лапой паяльник
Сообщения: 317
Зарегистрирован: Ср дек 09, 2020 18:38:07

Re: С чего начать программировать микроконтроллеры?

Сообщение koeltrad »

Я не думаю что именно прям необходимы. Если пишут на С, значит там всё имеется что нужно. Но и на ассемблере когда то тоже писали, чаще чем сейчас.

Добавлено after 11 minutes 26 seconds:
С другой стороны я фиг с этим всем разберусь когда мало чего на С++ для МК есть.
Аватара пользователя
Eddy_Em
Собутыльник Кота
Сообщения: 2516
Зарегистрирован: Пт июл 12, 2019 22:52:01
Контактная информация:

Re: С чего начать программировать микроконтроллеры?

Сообщение Eddy_Em »

[uquote="koeltrad",url="/forum/viewtopic.php?p=4075698#p4075698"]Как так получилось что для С фреймворк уже написан, а для С++ не написан?[/uquote]
А вот так и получилось. Большинство пишут на С, поэтому и сниппеты, и "библиотеки" - на сях. Единственное исключение - абдурина. Но там такой "С++", что и врагу не пожелаешь! Абсолютно неоптимально и через одно место.
На форумах (на этом тоже есть они) я встречал всего лишь двух человек, пишущих под микроконтроллеры на С++. И они написали свой фреймворк (классы, шаблоны), так что в итоге у них получается вполне легкочитаемый компактный код. А на выходе генерится такой бинарник, что и на асме не каждый напишет!
Теперь сравните это с тем дерьмом, что генерируется под абдурину. И вы поймете, как нужно и как не нужно программировать.

P.S. Еще в качестве контрпримера "как не нужно программировать" могу привести библиотеки SPL и HAL для STM32. Это просто лютый адов трешняк! Оверхед на оверхеде и оверхедом погоняет: куча ненужных ассертов, дурацкие структуры описания периферии…
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ
Аватара пользователя
FreshMan
Друг Кота
Сообщения: 6296
Зарегистрирован: Пн ноя 22, 2010 00:57:15
Откуда: Ukraine

Re: С чего начать программировать микроконтроллеры?

Сообщение FreshMan »

[uquote="Eddy_Em",url="/forum/viewtopic.php?p=4075769#p4075769"]я встречал всего лишь двух человек, пишущих под микроконтроллеры на С++.[/uquote]
кто же эти гуру ?
Tell Me The Truth
koeltrad
Потрогал лапой паяльник
Сообщения: 317
Зарегистрирован: Ср дек 09, 2020 18:38:07

Re: С чего начать программировать микроконтроллеры?

Сообщение koeltrad »

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

Добавлено after 13 minutes 39 seconds:
Какую IDE используете? Для С и STM32
Может библиотеки какие обязательно нужно подключить типа CMSIS, HAL?

Добавлено after 35 minutes 17 seconds:
Visual Studio подойдёт ведь?
Аватара пользователя
mickbell
Друг Кота
Сообщения: 16375
Зарегистрирован: Пт мар 30, 2012 05:17:29
Откуда: Екатеринбург

Re: С чего начать программировать микроконтроллеры?

Сообщение mickbell »

Некоторые обходятся вообще без оных, через обращение к регистрам. Но так можно и кукухой поехать. На работе у меня принято пользоваться HAL-ом.
О среде. Есть eclipse, к ней можно прицепить тулчейн, и получится неплохая бесплатная и, кстати, универсальная среда. Если же с другими ARM-ами работать нет планов, то можно качнуть у ST на сайте Cube IDE. Эта среда поможет разобраться с периферией - она всю инициализацию сама сделает. Был неплохой китайский Coocox, но он периферию настраивать сам не будет. Это я назвал только те, которыми сам пользовался.
Последний раз редактировалось mickbell Сб авг 14, 2021 17:10:39, всего редактировалось 1 раз.
И хрюкотали зелюки,
Как мюмзики в мове.

На каждый РКН
Найдётся VPN.
koeltrad
Потрогал лапой паяльник
Сообщения: 317
Зарегистрирован: Ср дек 09, 2020 18:38:07

Re: С чего начать программировать микроконтроллеры?

Сообщение koeltrad »

Или есть специальные IDE для МК?

Добавлено after 1 minute 50 seconds:
Этот HAL можно к Visual Studio подключить?

Добавлено after 1 minute 31 second:
Не гуглится ничего по этому поводу.
Аватара пользователя
mickbell
Друг Кота
Сообщения: 16375
Зарегистрирован: Пт мар 30, 2012 05:17:29
Откуда: Екатеринбург

Re: С чего начать программировать микроконтроллеры?

Сообщение mickbell »

Я чуть дописал свой пост.
И хрюкотали зелюки,
Как мюмзики в мове.

На каждый РКН
Найдётся VPN.
koeltrad
Потрогал лапой паяльник
Сообщения: 317
Зарегистрирован: Ср дек 09, 2020 18:38:07

Re: С чего начать программировать микроконтроллеры?

Сообщение koeltrad »

VIsual Studio не пользовались? Я просто её качаю сейчас.
Аватара пользователя
Eddy_Em
Собутыльник Кота
Сообщения: 2516
Зарегистрирован: Пт июл 12, 2019 22:52:01
Контактная информация:

Re: С чего начать программировать микроконтроллеры?

Сообщение Eddy_Em »

[uquote="FreshMan",url="/forum/viewtopic.php?p=4075771#p4075771"]кто же эти гуру ?[/uquote]
VladislavS, например.
После того, как я увидел, насколько оптимальный бинарник у него на выходе получается, перестал сомневаться, что на С++ можно писать под МК!
Но я - неосилятор, я не могу понять С++. Поэтому пишу на С.

Но однозначно могу сказать: всяким дерьмом, вроде HAL'а, SPL'я, "куба" и т.п. вменяемые люди не пользуются! Как и не пишут код в "ардуино-стиле".
Если специалист не может осилить документацию и написать вменяемый код без всяких этих калокубов, гнать его надо ссаными тряпками, т.к. это - не специалист, а кусок дерьма!

P.S. По поводу IDE со своей стороны посоветую Qt-creator. Лично мне нравится. Я в нем практически все пишу (кроме веба и латеха: для веба у меня bluefish, а для латеха - texstudio).
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ
Аватара пользователя
mickbell
Друг Кота
Сообщения: 16375
Зарегистрирован: Пт мар 30, 2012 05:17:29
Откуда: Екатеринбург

Re: С чего начать программировать микроконтроллеры?

Сообщение mickbell »

Кубом пользуются, почему бы нет? Ебаться с настройками периферии вручную называется заниматься мастурбацией. Неее, я так тоже умею... :))) Халом тоже пользуются - хотя бы чтобы читаемость хоть какая-то была. Можно, конечно, изобразить свой "хал" в виде
#define some_pin_1() HAL_GPIO_WritePin(GPIOx, GPIO_PIN_y, GPIO_PIN_SET)
Последний раз редактировалось mickbell Сб авг 14, 2021 18:32:04, всего редактировалось 1 раз.
И хрюкотали зелюки,
Как мюмзики в мове.

На каждый РКН
Найдётся VPN.
koeltrad
Потрогал лапой паяльник
Сообщения: 317
Зарегистрирован: Ср дек 09, 2020 18:38:07

Re: С чего начать программировать микроконтроллеры?

Сообщение koeltrad »

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

Добавлено after 13 minutes 15 seconds:
[uquote="Eddy_Em",url="/forum/viewtopic.php?p=4075808#p4075808"]P.S. По поводу IDE со своей стороны посоветую Qt-creator. Лично мне нравится. Я в нем практически все пишу (кроме веба и латеха: для веба у меня bluefish, а для латеха - texstudio).[/uquote]
Платная версия?

Добавлено after 6 minutes 49 seconds:
https://progerlib.ru/c-books

Добавлено after 1 minute 7 seconds:
Хочется без перевода, а то иногда переводчики так перемудрят... что читать не хочется. Лишь бы наукообразие было.

Добавлено after 58 seconds:
Программирование на C в примерах и задачах. Алексей Васильев

Добавлено after 42 seconds:
Курс программирования на языке СИ. Сергей Фомин, Вадим Подбельский
Одна голова хорошо, а две ...некрасиво.
Аватара пользователя
mickbell
Друг Кота
Сообщения: 16375
Зарегистрирован: Пт мар 30, 2012 05:17:29
Откуда: Екатеринбург

Re: С чего начать программировать микроконтроллеры?

Сообщение mickbell »

Можно посмотреть исходники какого-нибудь готового не сильно навороченного проекта, как он сделан. Думаю, многое станет понятно.
И хрюкотали зелюки,
Как мюмзики в мове.

На каждый РКН
Найдётся VPN.
koeltrad
Потрогал лапой паяльник
Сообщения: 317
Зарегистрирован: Ср дек 09, 2020 18:38:07

Re: С чего начать программировать микроконтроллеры?

Сообщение koeltrad »

Ничего себе как интересно. Правда толком не объяснено что такое этот идентификатор)
Имена присваиваемые переменным что ли? Как будто книга в переводе честное слово. ОМГ

Идентификаторы могут иметь любую длину, но компилятор учитывает не более 31 символа от начала идентификатора. В некоторых
компиляторах это ограничение еще более жесткое, и учитываются
только первые 8 символов любого идентификатора. В этом случае
идентификаторы NUMBER_OF_ROOM и NUMBER_OF_TEST
в программе будут неразличимы.

Добавлено after 9 minutes 46 seconds:
Есть тема куда можно сбрасывать мой поток мыслей при чтении? Когда пишешь что читаешь, запоминается быстрее)
Аватара пользователя
mickbell
Друг Кота
Сообщения: 16375
Зарегистрирован: Пт мар 30, 2012 05:17:29
Откуда: Екатеринбург

Re: С чего начать программировать микроконтроллеры?

Сообщение mickbell »

Вроде нынче 2021-й год. :)))
И хрюкотали зелюки,
Как мюмзики в мове.

На каждый РКН
Найдётся VPN.
koeltrad
Потрогал лапой паяльник
Сообщения: 317
Зарегистрирован: Ср дек 09, 2020 18:38:07

Re: С чего начать программировать микроконтроллеры?

Сообщение koeltrad »

Типа пиши в блокнот?
Здесь включается другая теория. То что информация связанная с каками либо чувствами, историей, запоминается лучше.
Аватара пользователя
mickbell
Друг Кота
Сообщения: 16375
Зарегистрирован: Пт мар 30, 2012 05:17:29
Откуда: Екатеринбург

Re: С чего начать программировать микроконтроллеры?

Сообщение mickbell »

Типа восьми значащих символов идентификаторов для компилятора. Ещё первые бэйсики вспомните, с их одной буквой и, кажется двумя цифрами максимум в идентификаторах.
И хрюкотали зелюки,
Как мюмзики в мове.

На каждый РКН
Найдётся VPN.
parovoZZ
Мудрый кот
Сообщения: 1759
Зарегистрирован: Пт июн 01, 2018 07:28:45

Re: С чего начать программировать микроконтроллеры?

Сообщение parovoZZ »

[uquote="koeltrad",url="/forum/viewtopic.php?p=4075698#p4075698"]Начну тогда с ардуино. Писать на нём код на С++, а там может уже и будущее подтянется и все перейдут на С++))[/
На абдурине мк не изучишь. Там все спрятано. А вот получить лживые представления получить можно. Потом переубедить будет сложно.

Добавлено after 2 minutes 31 second:
Что можно почитать из популярного по С?
Керниган и Ричи.
Аватара пользователя
Eddy_Em
Собутыльник Кота
Сообщения: 2516
Зарегистрирован: Пт июл 12, 2019 22:52:01
Контактная информация:

Re: С чего начать программировать микроконтроллеры?

Сообщение Eddy_Em »

[uquote="koeltrad",url="/forum/viewtopic.php?p=4075818#p4075818"]Платная версия?[/uquote]
Нет, естественно. СВОБОДНАЯ! Еще не хватало за ПО платить - я что, на идиота похож?
И да, сразу же советую: выкинь мастдайку и забудь про нее навсегда! Поставь себе линукс. Ну или хотя бы бубунту какую. И работай в свободном ПО. Проприетарщина хороша только для совсем уж недалеких умом...

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

Жаль, STM32 нынче на полтора порядка в цене взлетели, а то дал бы классический совет: покупаешь десяток STM32F072CBT6 на али, делаешь для них девборду (или впаиваешь вместо F103 в "синюю таблетку" с некоторыми изменениями), скачиваешь сниппеты для STM32F0 и… И работаешь!
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ
koeltrad
Потрогал лапой паяльник
Сообщения: 317
Зарегистрирован: Ср дек 09, 2020 18:38:07

Re: С чего начать программировать микроконтроллеры?

Сообщение koeltrad »

Пффф
https://learnc.info/c/namespaces.html
Одной из больших проблем си является отсутствие пространств имён или системы модулей.

Добавлено after 6 minutes 46 seconds:
[uquote="Eddy_Em",url="/forum/viewtopic.php?p=4075960#p4075960"][uquote="koeltrad",url="/forum/viewtopic.php?p=4075818#p4075818"]Платная версия?[/uquote]
Нет, естественно. СВОБОДНАЯ![/uquote]
Вылеченная что ли?
На офф сайте триал вроде бы только на 30 дней. И платная.
Аватара пользователя
Eddy_Em
Собутыльник Кота
Сообщения: 2516
Зарегистрирован: Пт июл 12, 2019 22:52:01
Контактная информация:

Re: С чего начать программировать микроконтроллеры?

Сообщение Eddy_Em »

koeltrad,

Код: Выделить всё

eix qt-creator
[?] dev-qt/qt-creator
     Available versions:  ~4.15.1^t **9999*l^t {android +autotest autotools baremetal bazaar beautifier boot2qt +clang clearcase cmake cppcheck ctfvisualizer cvs +designer doc git glsl +help lsp mcu mercurial modeling nim perforce perfprofiler python qbs +qmldesigner +qmljs qmlprofiler qnx remotelinux scxml serialterminal silversearcher subversion systemd test valgrind webassembly webengine L10N="cs da de fr hr ja pl ru sl uk zh-CN zh-TW"}
     Installed versions:  4.12.3-r1^t(22:22:53 26.04.2021)(autotest baremetal cmake -android -beautifier -boot2qt -clang -clearcase -cppcheck -ctfvisualizer -cvs -designer -doc -git -glsl -help -ios -lsp -mcu -mercurial -modeling -nim -perforce -perfprofiler -python -qbs -qmldesigner -qmlprofiler -qnx -remotelinux -scxml -serialterminal -silversearcher -subversion -systemd -test -valgrind -webassembly -webengine -winrt L10N="ru -cs -da -de -fr -ja -pl -sl -uk -zh-CN -zh-TW")
     Homepage:            https://doc.qt.io/qtcreator/
     Description:         Lightweight IDE for C++/QML development centering around Qt
Просто ставлю из репозитория. Свободная. Я уж не знаю, что там за "офсайт" такой, где за нее деньги просят... И вообще, быть вендузятником - это как на нуль делить свою жизнь!!!
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ
Ответить

Вернуться в «Теория»