С чего начать программировать микроконтроллеры?
Re: С чего начать программировать микроконтроллеры?
Я не думаю что именно прям необходимы. Если пишут на С, значит там всё имеется что нужно. Но и на ассемблере когда то тоже писали, чаще чем сейчас.
Добавлено after 11 minutes 26 seconds:
С другой стороны я фиг с этим всем разберусь когда мало чего на С++ для МК есть.
Добавлено after 11 minutes 26 seconds:
С другой стороны я фиг с этим всем разберусь когда мало чего на С++ для МК есть.
- Eddy_Em
- Собутыльник Кота
- Сообщения: 2516
- Зарегистрирован: Пт июл 12, 2019 22:52:01
- Контактная информация:
Re: С чего начать программировать микроконтроллеры?
[uquote="koeltrad",url="/forum/viewtopic.php?p=4075698#p4075698"]Как так получилось что для С фреймворк уже написан, а для С++ не написан?[/uquote]
А вот так и получилось. Большинство пишут на С, поэтому и сниппеты, и "библиотеки" - на сях. Единственное исключение - абдурина. Но там такой "С++", что и врагу не пожелаешь! Абсолютно неоптимально и через одно место.
На форумах (на этом тоже есть они) я встречал всего лишь двух человек, пишущих под микроконтроллеры на С++. И они написали свой фреймворк (классы, шаблоны), так что в итоге у них получается вполне легкочитаемый компактный код. А на выходе генерится такой бинарник, что и на асме не каждый напишет!
Теперь сравните это с тем дерьмом, что генерируется под абдурину. И вы поймете, как нужно и как не нужно программировать.
P.S. Еще в качестве контрпримера "как не нужно программировать" могу привести библиотеки SPL и HAL для STM32. Это просто лютый адов трешняк! Оверхед на оверхеде и оверхедом погоняет: куча ненужных ассертов, дурацкие структуры описания периферии…
А вот так и получилось. Большинство пишут на С, поэтому и сниппеты, и "библиотеки" - на сях. Единственное исключение - абдурина. Но там такой "С++", что и врагу не пожелаешь! Абсолютно неоптимально и через одно место.
На форумах (на этом тоже есть они) я встречал всего лишь двух человек, пишущих под микроконтроллеры на С++. И они написали свой фреймворк (классы, шаблоны), так что в итоге у них получается вполне легкочитаемый компактный код. А на выходе генерится такой бинарник, что и на асме не каждый напишет!
Теперь сравните это с тем дерьмом, что генерируется под абдурину. И вы поймете, как нужно и как не нужно программировать.
P.S. Еще в качестве контрпримера "как не нужно программировать" могу привести библиотеки SPL и HAL для STM32. Это просто лютый адов трешняк! Оверхед на оверхеде и оверхедом погоняет: куча ненужных ассертов, дурацкие структуры описания периферии…
Re: С чего начать программировать микроконтроллеры?
[uquote="Eddy_Em",url="/forum/viewtopic.php?p=4075769#p4075769"]я встречал всего лишь двух человек, пишущих под микроконтроллеры на С++.[/uquote]
кто же эти гуру ?
кто же эти гуру ?
Tell Me The Truth
Re: С чего начать программировать микроконтроллеры?
Так бы сразу и написали)) Перехожу на С.
Второй раз за день меняю языки программирования не зная ни одного))
Добавлено after 13 minutes 39 seconds:
Какую IDE используете? Для С и STM32
Может библиотеки какие обязательно нужно подключить типа CMSIS, HAL?
Добавлено after 35 minutes 17 seconds:
Visual Studio подойдёт ведь?
Второй раз за день меняю языки программирования не зная ни одного))
Добавлено after 13 minutes 39 seconds:
Какую IDE используете? Для С и STM32
Может библиотеки какие обязательно нужно подключить типа CMSIS, HAL?
Добавлено after 35 minutes 17 seconds:
Visual Studio подойдёт ведь?
Re: С чего начать программировать микроконтроллеры?
Некоторые обходятся вообще без оных, через обращение к регистрам. Но так можно и кукухой поехать. На работе у меня принято пользоваться HAL-ом.
О среде. Есть eclipse, к ней можно прицепить тулчейн, и получится неплохая бесплатная и, кстати, универсальная среда. Если же с другими ARM-ами работать нет планов, то можно качнуть у ST на сайте Cube IDE. Эта среда поможет разобраться с периферией - она всю инициализацию сама сделает. Был неплохой китайский Coocox, но он периферию настраивать сам не будет. Это я назвал только те, которыми сам пользовался.
О среде. Есть eclipse, к ней можно прицепить тулчейн, и получится неплохая бесплатная и, кстати, универсальная среда. Если же с другими ARM-ами работать нет планов, то можно качнуть у ST на сайте Cube IDE. Эта среда поможет разобраться с периферией - она всю инициализацию сама сделает. Был неплохой китайский Coocox, но он периферию настраивать сам не будет. Это я назвал только те, которыми сам пользовался.
Последний раз редактировалось mickbell Сб авг 14, 2021 17:10:39, всего редактировалось 1 раз.
И хрюкотали зелюки,
Как мюмзики в мове.
На каждый РКН
Найдётся VPN.
Как мюмзики в мове.
На каждый РКН
Найдётся VPN.
Re: С чего начать программировать микроконтроллеры?
Или есть специальные IDE для МК?
Добавлено after 1 minute 50 seconds:
Этот HAL можно к Visual Studio подключить?
Добавлено after 1 minute 31 second:
Не гуглится ничего по этому поводу.
Добавлено after 1 minute 50 seconds:
Этот HAL можно к Visual Studio подключить?
Добавлено after 1 minute 31 second:
Не гуглится ничего по этому поводу.
Re: С чего начать программировать микроконтроллеры?
Я чуть дописал свой пост.
И хрюкотали зелюки,
Как мюмзики в мове.
На каждый РКН
Найдётся VPN.
Как мюмзики в мове.
На каждый РКН
Найдётся VPN.
Re: С чего начать программировать микроконтроллеры?
VIsual Studio не пользовались? Я просто её качаю сейчас.
- Eddy_Em
- Собутыльник Кота
- Сообщения: 2516
- Зарегистрирован: Пт июл 12, 2019 22:52:01
- Контактная информация:
Re: С чего начать программировать микроконтроллеры?
[uquote="FreshMan",url="/forum/viewtopic.php?p=4075771#p4075771"]кто же эти гуру ?[/uquote]
VladislavS, например.
После того, как я увидел, насколько оптимальный бинарник у него на выходе получается, перестал сомневаться, что на С++ можно писать под МК!
Но я - неосилятор, я не могу понять С++. Поэтому пишу на С.
Но однозначно могу сказать: всяким дерьмом, вроде HAL'а, SPL'я, "куба" и т.п. вменяемые люди не пользуются! Как и не пишут код в "ардуино-стиле".
Если специалист не может осилить документацию и написать вменяемый код без всяких этих калокубов, гнать его надо ссаными тряпками, т.к. это - не специалист, а кусок дерьма!
P.S. По поводу IDE со своей стороны посоветую Qt-creator. Лично мне нравится. Я в нем практически все пишу (кроме веба и латеха: для веба у меня bluefish, а для латеха - texstudio).
VladislavS, например.
После того, как я увидел, насколько оптимальный бинарник у него на выходе получается, перестал сомневаться, что на С++ можно писать под МК!
Но я - неосилятор, я не могу понять С++. Поэтому пишу на С.
Но однозначно могу сказать: всяким дерьмом, вроде HAL'а, SPL'я, "куба" и т.п. вменяемые люди не пользуются! Как и не пишут код в "ардуино-стиле".
Если специалист не может осилить документацию и написать вменяемый код без всяких этих калокубов, гнать его надо ссаными тряпками, т.к. это - не специалист, а кусок дерьма!
P.S. По поводу IDE со своей стороны посоветую Qt-creator. Лично мне нравится. Я в нем практически все пишу (кроме веба и латеха: для веба у меня bluefish, а для латеха - texstudio).
Re: С чего начать программировать микроконтроллеры?
Кубом пользуются, почему бы нет? Ебаться с настройками периферии вручную называется заниматься мастурбацией. Неее, я так тоже умею...
Халом тоже пользуются - хотя бы чтобы читаемость хоть какая-то была. Можно, конечно, изобразить свой "хал" в виде
#define some_pin_1() HAL_GPIO_WritePin(GPIOx, GPIO_PIN_y, GPIO_PIN_SET)
#define some_pin_1() HAL_GPIO_WritePin(GPIOx, GPIO_PIN_y, GPIO_PIN_SET)
Последний раз редактировалось mickbell Сб авг 14, 2021 18:32:04, всего редактировалось 1 раз.
И хрюкотали зелюки,
Как мюмзики в мове.
На каждый РКН
Найдётся VPN.
Как мюмзики в мове.
На каждый РКН
Найдётся VPN.
Re: С чего начать программировать микроконтроллеры?
На ютюбе кошмар, а не гайды по изучению С.
Что можно почитать из популярного по С? Не из известного и старого!!А из популярного.
Добавлено 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:
Курс программирования на языке СИ. Сергей Фомин, Вадим Подбельский
Одна голова хорошо, а две ...некрасиво.
Что можно почитать из популярного по С? Не из известного и старого!!А из популярного.
Добавлено 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:
Курс программирования на языке СИ. Сергей Фомин, Вадим Подбельский
Одна голова хорошо, а две ...некрасиво.
Re: С чего начать программировать микроконтроллеры?
Можно посмотреть исходники какого-нибудь готового не сильно навороченного проекта, как он сделан. Думаю, многое станет понятно.
И хрюкотали зелюки,
Как мюмзики в мове.
На каждый РКН
Найдётся VPN.
Как мюмзики в мове.
На каждый РКН
Найдётся VPN.
Re: С чего начать программировать микроконтроллеры?
Ничего себе как интересно. Правда толком не объяснено что такое этот идентификатор)
Имена присваиваемые переменным что ли? Как будто книга в переводе честное слово. ОМГ
Идентификаторы могут иметь любую длину, но компилятор учитывает не более 31 символа от начала идентификатора. В некоторых
компиляторах это ограничение еще более жесткое, и учитываются
только первые 8 символов любого идентификатора. В этом случае
идентификаторы NUMBER_OF_ROOM и NUMBER_OF_TEST
в программе будут неразличимы.
Добавлено after 9 minutes 46 seconds:
Есть тема куда можно сбрасывать мой поток мыслей при чтении? Когда пишешь что читаешь, запоминается быстрее)
Имена присваиваемые переменным что ли? Как будто книга в переводе честное слово. ОМГ
Идентификаторы могут иметь любую длину, но компилятор учитывает не более 31 символа от начала идентификатора. В некоторых
компиляторах это ограничение еще более жесткое, и учитываются
только первые 8 символов любого идентификатора. В этом случае
идентификаторы NUMBER_OF_ROOM и NUMBER_OF_TEST
в программе будут неразличимы.
Добавлено after 9 minutes 46 seconds:
Есть тема куда можно сбрасывать мой поток мыслей при чтении? Когда пишешь что читаешь, запоминается быстрее)
Re: С чего начать программировать микроконтроллеры?
Вроде нынче 2021-й год. 
И хрюкотали зелюки,
Как мюмзики в мове.
На каждый РКН
Найдётся VPN.
Как мюмзики в мове.
На каждый РКН
Найдётся VPN.
Re: С чего начать программировать микроконтроллеры?
Типа пиши в блокнот?
Здесь включается другая теория. То что информация связанная с каками либо чувствами, историей, запоминается лучше.
Здесь включается другая теория. То что информация связанная с каками либо чувствами, историей, запоминается лучше.
Re: С чего начать программировать микроконтроллеры?
Типа восьми значащих символов идентификаторов для компилятора. Ещё первые бэйсики вспомните, с их одной буквой и, кажется двумя цифрами максимум в идентификаторах.
И хрюкотали зелюки,
Как мюмзики в мове.
На каждый РКН
Найдётся VPN.
Как мюмзики в мове.
На каждый РКН
Найдётся VPN.
Re: С чего начать программировать микроконтроллеры?
На абдурине мк не изучишь. Там все спрятано. А вот получить лживые представления получить можно. Потом переубедить будет сложно.[uquote="koeltrad",url="/forum/viewtopic.php?p=4075698#p4075698"]Начну тогда с ардуино. Писать на нём код на С++, а там может уже и будущее подтянется и все перейдут на С++))[/
Добавлено after 2 minutes 31 second:
Керниган и Ричи.Что можно почитать из популярного по С?
- Eddy_Em
- Собутыльник Кота
- Сообщения: 2516
- Зарегистрирован: Пт июл 12, 2019 22:52:01
- Контактная информация:
Re: С чего начать программировать микроконтроллеры?
[uquote="koeltrad",url="/forum/viewtopic.php?p=4075818#p4075818"]Платная версия?[/uquote]
Нет, естественно. СВОБОДНАЯ! Еще не хватало за ПО платить - я что, на идиота похож?
И да, сразу же советую: выкинь мастдайку и забудь про нее навсегда! Поставь себе линукс. Ну или хотя бы бубунту какую. И работай в свободном ПО. Проприетарщина хороша только для совсем уж недалеких умом...
Ну и в очередной раз повторю: никаких абдурин, калокубов и прочей кривой гадости. Они лишь усложняют разработку: помимо даташита и мануала приходится еще и документацию на эти кривые фиговины читать. Ну и периодически долго мучиться в поисках багов (а в кале до сих пор люди баги находят), про жуткий оверхед вообще молчу.
Жаль, STM32 нынче на полтора порядка в цене взлетели, а то дал бы классический совет: покупаешь десяток STM32F072CBT6 на али, делаешь для них девборду (или впаиваешь вместо F103 в "синюю таблетку" с некоторыми изменениями), скачиваешь сниппеты для STM32F0 и… И работаешь!
Нет, естественно. СВОБОДНАЯ! Еще не хватало за ПО платить - я что, на идиота похож?
И да, сразу же советую: выкинь мастдайку и забудь про нее навсегда! Поставь себе линукс. Ну или хотя бы бубунту какую. И работай в свободном ПО. Проприетарщина хороша только для совсем уж недалеких умом...
Ну и в очередной раз повторю: никаких абдурин, калокубов и прочей кривой гадости. Они лишь усложняют разработку: помимо даташита и мануала приходится еще и документацию на эти кривые фиговины читать. Ну и периодически долго мучиться в поисках багов (а в кале до сих пор люди баги находят), про жуткий оверхед вообще молчу.
Жаль, STM32 нынче на полтора порядка в цене взлетели, а то дал бы классический совет: покупаешь десяток STM32F072CBT6 на али, делаешь для них девборду (или впаиваешь вместо F103 в "синюю таблетку" с некоторыми изменениями), скачиваешь сниппеты для STM32F0 и… И работаешь!
Re: С чего начать программировать микроконтроллеры?
Пффф
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 дней. И платная.
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: С чего начать программировать микроконтроллеры?
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