Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.76/21: Рейтинг темы: голосов - 21, средняя оценка - 4.76
0 / 0 / 0
Регистрация: 04.02.2019
Сообщений: 7

Хочу научится программировать микроконтроллеры, но не знаю с чего начать

04.02.2019, 13:06. Показов 4529. Ответов 16

Студворк — интернет-сервис помощи студентам
здравствуете, я хочу научится программировать микроконтроллеров, но не знаю с чего начать, в гугле очень много книг по этой теме и я не знаю что читать и на каком языке писать программы. можете мне посоветовать какие книги читать а какие нет?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
04.02.2019, 13:06
Ответы с готовыми решениями:

Хочу научится программировать но не знаю с чего начать
Всем привет! Меня зовут Александр. Хочу научиться программировать на языке . Опыта в этой сфере нету, но есть желание подскажите с чего...

Хочу научится писать парсеры. С чего начать?
Хочу освоить написание парсеров. Посоветуйте какие функции стоит изучить! Также буду благодарен, если подскажите где почитать про...

Хочу научиться программировать на C++: с чего начать?
Спросите себя "Зачем?" Зачем? - это самый первый и самый главный вопрос, который следует себе задать. И задать его следует в самом...

16
Эксперт по электронике
6524 / 3153 / 332
Регистрация: 28.10.2011
Сообщений: 12,370
Записей в блоге: 7
04.02.2019, 13:30
Цитата Сообщение от Dendys Посмотреть сообщение
хочу научится программировать микроконтроллеров
Какие? Они разные бывают.
0
0 / 0 / 0
Регистрация: 04.02.2019
Сообщений: 7
05.02.2019, 13:04  [ТС]
Добавлено через 6 минут
locm, locm, микроконтроллеры семейство ATMEL. AVR микроконтроллеры. в программе atmel studio
0
Модератор
Эксперт по электронике
8978 / 6744 / 921
Регистрация: 14.02.2011
Сообщений: 23,854
05.02.2019, 13:28
Цитата Сообщение от Dendys Посмотреть сообщение
микроконтроллеры семейство ATMEL. AVR микроконтроллеры.
для этого есть целая ветка https://www.cyberforum.ru/avr/
советую прочитать в ней важные темы
0
05.02.2019, 13:54

Не по теме:

Цитата Сообщение от Dendys Посмотреть сообщение
AVR микроконтроллеры
8-ми битные МК устарели по моему мнению.

0
 Аватар для Voland_
1983 / 1276 / 131
Регистрация: 04.01.2010
Сообщений: 4,607
06.02.2019, 10:39
Цитата Сообщение от locm Посмотреть сообщение
8-ми битные МК устарели по моему мнению.

Не по теме:

производители МК на платформах 8051й, "появившиеся из прошлого" в последние лет 5-7 с Вами не очень-то согласны :). Виной всему стоимость лицензий на ARM. Сейчас их сильно подхосит Risc-V, но это ж временно - ARM и другие своего не упустят все равно, в итоге 8ми-битники и т.д. снова и снова будут возвращаться.

0
0 / 0 / 0
Регистрация: 04.02.2019
Сообщений: 7
06.02.2019, 11:23  [ТС]
ValeryS, да, спасибо за ответ но там нет конкретные указание по моему мнению, и все литературы старые а сейчас у меня атмел студио 7 стоит. я тут подумал может есть какие нибудь новые литературы. и конкретные хорошие обучающие материалы на С. может мне сначала научится язык программирования на С? а потом читать про микроконтроллеры ?
0
Эксперт по электронике
6524 / 3153 / 332
Регистрация: 28.10.2011
Сообщений: 12,370
Записей в блоге: 7
06.02.2019, 11:32
Не заметил чтобы стоимость ARM МК была бы сильно выше чем 8-ми битников. На Али можно купить десяток по стоимости 0.35$ за штуку. Многие 8-ми битники дороже при меньшей производительности и объеме памяти, а также при меньших возможностях периферии.
Миниатюры
Хочу научится программировать микроконтроллеры, но не знаю с чего начать  
1
0 / 0 / 0
Регистрация: 04.02.2019
Сообщений: 7
06.02.2019, 11:37  [ТС]
locm, а какие микроконтроллеры сейчас актуальны? знаете когда речь идет о микроконтроллерах я полный О. читал конечно книги моргать светодиодами у меня получается, но я хочу понять суть и что к чему, как, почему так, вот такие вопросы меня мучает. а актуальность той или иной мик. мне кажется вопрос второй степени.
0
Эксперт по электронике
6524 / 3153 / 332
Регистрация: 28.10.2011
Сообщений: 12,370
Записей в блоге: 7
06.02.2019, 12:42
Выбор МК зависит от задачи. Если ограничится миганием светодиодом, то все равно какой МК. Но мигать можно по разному. Вот к примеру мигание методом Таймер->DMA->GPIO. https://www.cyberforum.ru/blog... g5169.html
Но для AVR этот метод не актуален, поскольку периферия слишком простая и не поддерживает такую конфигурацию. Вообще выбирая простые МК типа AVR нужно быть готовым к тому что в дальнейшем (если задачи будут сложнее мигания светодиодом) возникнут сложности именно из-за их простоты.
0
0 / 0 / 0
Регистрация: 04.02.2019
Сообщений: 7
06.02.2019, 13:47  [ТС]
мигание светодиодом это просто пример. да в будущем я хочу собрать серьезные устройства на микроконтроллере. но для этого надо же с чего то начать. к примеру я хочу сначала собрать бегущую строку. для этого подойдет мик атмега 16? и я начал изучать язык программирования С. и читаю эту книгу "как программировать на С" Харви Дейтел, Пол Дейтел.
0
 Аватар для Voland_
1983 / 1276 / 131
Регистрация: 04.01.2010
Сообщений: 4,607
06.02.2019, 23:31
Цитата Сообщение от locm Посмотреть сообщение
Не заметил чтобы стоимость ARM МК была бы сильно выше чем 8-ми битников.
Я говорю за стоимость лицензии за ядро. Сейчас ARM вообще сделала ее бесплатной (вроде бы) https://www.bit-tech.net/news/... x-cores/1/.
Цитата Сообщение от locm Посмотреть сообщение
Многие 8-ми битники дороже при меньшей производительности и объеме памяти, а также при меньших возможностях периферии.
не забывайте, что 32-битные инструкции занимают много места. Тот же код на М3 или М0 занимает гораздо больше места. Другое дело, что данных помещается гораздо больше - это правда. Но если код что-то считает, что-то делает, имеет много логики - он и займет намного больше, по сравнению с восьмибитником.

Добавлено через 4 минуты
Цитата Сообщение от Dendys Посмотреть сообщение
да в будущем я хочу собрать серьезные устройства на микроконтроллере.
Вам правильно советуют - можно вдаваться "в дебри" мелких МК, где важны не сколько скорость выполнения, сколько сам факт выполнения задачи. А можно заострить внимание как раз на производительности, или вообще- медийным, сетевым, коммуникационным возможностям. Это по своей сути разные задачи. Одни решаются чистым Си, вторые - на базе МК по-мощнее. Третьи же как правило направляются в сторону мощных ядер, типа платформ Raspberry Pi.

PS: Для гирлянды Mega16 будет достаточно.
0
Эксперт по электронике
6524 / 3153 / 332
Регистрация: 28.10.2011
Сообщений: 12,370
Записей в блоге: 7
06.02.2019, 23:49
Цитата Сообщение от Voland_ Посмотреть сообщение
не забывайте, что 32-битные инструкции занимают много места.
Насколько много? Большинство инструкций Thumb/Thumb2 занимают 2 байта. В AVR инструкции занимают меньше? В AVR при работе с числами требующими больше байта для хранения необходима программная работа с ними и число инструкций будет больше чем в ARM, т. е. возможна ситуация когда машинный код AVR займет больше места чем у ARM.

Цитата Сообщение от Voland_ Посмотреть сообщение
Тот же код на М3 или М0 занимает гораздо больше места.
Можно примеры?
В сети пишут что это не так.{del}
Заодно обратите внимание на число циклов необходимых на выполнение кода. AVR существенно проигрывает в производительности при одинаковой тактовой частоте. У AVR тактовая частота максимум 20 МГц, а отличие от ARM МК у которых она может быть 600 и более МГц. Правда цена на такие МК слишком завышена. По доступной цене можно купить МК с тактовой частотой ядра 72 МГц и 168 МГц.

Цитата Сообщение от Voland_ Посмотреть сообщение
Но если код что-то считает, что-то делает, имеет много логики - он и займет намного больше, по сравнению с восьмибитником.
Займет примерно столько же. Выше написал почему.
Кроме того объем памяти у ARM гораздо больше чем у AVR. Дешевый (1$) STM32F103C8T6 имеет 128 КБ флеша и 20 КБ ОЗУ. STM32F407VGT6 который чуть дороже (4$), содержит 1 МБ флеша и 192 КБ ОЗУ. У каких популярных 8-ми битников есть аналогичные объемы памяти при похожей цене?
0
 Аватар для Voland_
1983 / 1276 / 131
Регистрация: 04.01.2010
Сообщений: 4,607
07.02.2019, 11:06
Цитата Сообщение от locm Посмотреть сообщение
Можно примеры?
В сети пишут что это не так.
желания расписывать нет. Я портировал одну и ту же имплементацию кастомного протокола связи - под AVR, STM32 и STM8. И в принципе провел довольно много времени, анализируя результаты. Так что готовые куски результата я вам просто не могу показать, потому что это не мой проект. Точнее не для себя я его писал.
Цитата Сообщение от locm Посмотреть сообщение
AVR существенно проигрывает в производительности при одинаковой тактовой частоте. У AVR тактовая частота максимум 20 МГц, а отличие от ARM МК у которых она может быть 600 и более МГц.
ух ты боже мой ) может давайте и i9 сюда приплетем? давайте локализуем сравнение МК хотя бы одной ценовой категории, чтобы быть более-менее честным. Есть и другие критерии по которым они будут все еще не совместимы, но давайте ограничимся, допустим, ценой. Вы можете указать STM32F0, работающий на 100МГц? Я вот, что-то не встречал еще.
Код может быть меньше разве что из-за удобных DMA, NVIC, сопроцессора. Но сказать что он так уже намного быстрее выполняется - я бы не был таким оптимистом ).
Цитата Сообщение от locm Посмотреть сообщение
Займет примерно столько же. Выше написал почему.
Вы излишне теоретизируйте. Давайте больше примеров. Предложу взять код какой-нибудь сортировки и посмотреть как он будет скомпилен под ARM и под AVR. Посмотрим. У меня для этого почти нет ничего ).

Цитата Сообщение от locm Посмотреть сообщение
STM32F407VGT6 который чуть дороже (4$), содержит 1 МБ флеша и 192 КБ ОЗУ. У каких популярных 8-ми битников есть аналогичные объемы памяти при похожей цене?
вы сравниваете несравнимые МК. А давайте сравним их по размеру, по стоимости, по энергопотреблению (абсолютному)?. и тут вдруг окажется, что предложенные вами кортексы - это очень далекие родственники с AVR. Вы интересовались сколько кушает STM32F103 на 72МГц? А сколько ест F407? а я интересовался.

PS: я не спорю, что новые МК несколько "интереснее" в плане возможностей. Просто возможно для подрыгивания светодиодом, либо таймера времени, возможно, их будет "сильно избыточно", и сказать, что таких задач нет, а МК для таких задач "устарели" - это по меньшей мере странно.
0
Почетный модератор
 Аватар для Humanoid
11553 / 4348 / 452
Регистрация: 12.06.2008
Сообщений: 12,453
07.02.2019, 11:47
У более простеньких МК есть одно важное преимущество для начинающих: их можно найти в корпусах DIP. Это позволяет распаивать их на макетных платах, а не разводить свои. Но с другой стороны, лучше сразу начинать с тех МК, которыми больше шансов пользоваться в будущем. Например, начали с PIC и купили для него программатор. Потом поняли, что их производительности не хватает, а более навороченные PIC32 стоят слишком дорого, и решили перейти на STM32. А для STM32 нужен другой программатор. Для начинающего, который ещё не определился, хочет ли он этим заниматься, лишние затраты на программаторы могут отбить энтузиазм.

Вывод: надо решить, на сколько приемлемым является использование МК в корпусах QFP, для которых нужно либо разводить свои платы, либо использовать дополнительные макетные платы. Да и распаивать их вначале будет чуть сложнее из-за малого расстояния между ножками, но можно привыкнуть. Зато такие контроллеры дешёвые и ходовые. Например, приведённый выше STM32F103C8T6 производится китайцами и стоит очень дёшево (около 80 рублей за корпус или около 130 рублей за небольшую плату с распаянным контроллером). Контроллер достаточно навороченный и даже позволяет работать с USB в режиме FullSpeed (до 12 Мбит/с). Программаторы для STM32 сейчас подешевели и стоят около 500 рублей (есть другие варианты за 130 рублей, но на них часто жалуются и я бы не стал такой брать).

Но если нет желания использовать такие сложные корпуса, то можно выбрать МК попроще, у которых есть варианты с корпусами DIP. Но надо быть готовыми, что у таких МК возможности значительно скромнее. Иногда бывает не просто найти нормальный бесплатный компилятор. Это цена более простой распайки и чуть более простой настройки самого МК.
0
Эксперт .NET
 Аватар для Rius
13044 / 7611 / 1663
Регистрация: 25.05.2015
Сообщений: 23,151
Записей в блоге: 14
07.02.2019, 14:03
Цитата Сообщение от Humanoid Посмотреть сообщение
А для STM32 нужен другой программатор. Для начинающего, который ещё не определился, хочет ли он этим заниматься, лишние затраты на программаторы могут отбить энтузиазм.
У всех этих ARM микроконтроллеров один программатор/отладчик, а вот у остальных как раз своя махровая проприетарщина и метание.
Да, и компиляторы тоже: GCC ARM для ARM'ов и что-то своё, самобытное, у остальных.
Так что один раз ARM освоили - свободно перемещаетесь между их линейками у разных производителей.
0
Эксперт по электронике
6524 / 3153 / 332
Регистрация: 28.10.2011
Сообщений: 12,370
Записей в блоге: 7
07.02.2019, 14:14
Цитата Сообщение от Voland_ Посмотреть сообщение
Я портировал одну и ту же имплементацию кастомного протокола связи - под AVR, STM32 и STM8.
Просто копировали код или изменяли его чтобы учесть особенности МК? Надеюсь HAL не использовали? Про оптимизацию не забыли (O2, LTO)?
Тоже переносил код с AVR на STM32. Размер прошивки был примерно одинаковый, или даже меньше на STM32.

Цитата Сообщение от Voland_ Посмотреть сообщение
давайте локализуем сравнение МК хотя бы одной ценовой категории, чтобы быть более-менее честным.
Возьмем STM32F103C8T6 стоимостью 1$ на Али. Какой AVR с такой же стоимостью имеет подобные характеристики (объем памяти, производительность, набор периферии)?



Цитата Сообщение от Voland_ Посмотреть сообщение
Вы можете указать STM32F0, работающий на 100МГц?
Сперва вы назовите мне модель ATmega работающую на частоте 50 МГц.

Цитата Сообщение от Voland_ Посмотреть сообщение
Код может быть меньше разве что из-за удобных DMA, NVIC, сопроцессора. Но сказать что он так уже намного быстрее выполняется - я бы не был таким оптимистом ).
Не только из-за них. Код будет меньше а быстродействие выше еще потому что STM32 аппаратно поддерживаем работу с переменными до 4 байт и имеет инструкции умножения и деления. В AVR работа с переменными больше байта выполняется программно. Аппаратно деление не поддерживается. В результате машинного кода будет больше.

Цитата Сообщение от Voland_ Посмотреть сообщение
Предложу взять код какой-нибудь сортировки и посмотреть как он будет скомпилен под ARM и под AVR.
Когда предложите код, тогда и обсудим.
А пока что покажу асм код простых математических действий с uin16_t переменной. В AVR будет меньше машинного кода?



Цитата Сообщение от Voland_ Посмотреть сообщение
Вы интересовались сколько кушает STM32F103 на 72МГц? А сколько ест F407?
Эта информация есть в даташите. Потребление зависит от количества включенной периферии и того используется спящий режим или нет.
Эта конструкция потребляет 10 мА при наличии __WFI() в цикле. Одно из разработанных мною устройств на F407 потребляет 28 мА на частоте 168 МГц. В спящем режиме потребление несколько микроампер.
Только какое это имеет отношение к обсуждаемой теме?

Цитата Сообщение от Voland_ Посмотреть сообщение
Просто возможно для подрыгивания светодиодом, либо таймера времени, возможно, их будет "сильно избыточно"
Очень распространенное заблуждение. Глупо отказываться от нормальной периферии (например для упомянутого таймера хорошо подойдет встроенный RTC, который есть во всех STM32), от отладчика и т. д., тем более что стоимость STM32 примерно как у AVR.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
07.02.2019, 14:14
Помогаю со студенческими работами здесь

Хочу начать изучать C# , не знаю с чего начать
Доброго времени суток , решил начать путь программиста с C# , но столкнулся с проблемой : не знаю с чего начать . Читать книги , пробовать...

Хочу начать , но не знаю с чего
Здравствуйте , Меня зовут Илья , мне 14 лет , хочу работать программистом . Подскажите пожалуйста (Хочу работать в сфере веб дизайна , по...

Хочу самостоятельно изучить СИ/СИ++,но не знаю с чего начать
1)Сначала лучше всего изучать СИ?Если да то какие плюсы мне это даст при изучении СИ++ ? 2)Посоветуйте хорошую литературу(если есть...

Хочу научится программировать
Здравствуйте! Не знал в какую тему написать, но в данном случае мне нужно что-то на подобии алгоритма. Я хочу самостоятельно научиться...

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


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru