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

Здесь принимаются все самые невообразимые вопросы... Главное - не стесняйтесь. Поверьте, у нас поначалу вопросы были еще глупее :)
aleksandr-zh
Сверлит текстолит когтями
Сообщения: 1278
Зарегистрирован: Пн июн 18, 2007 21:51:20

Re: Микроконтроллеры - с чего начать новичку?

Сообщение aleksandr-zh »

Sceam73 писал(а):Может кто то со мной не согласен, но я думаю что лучше обойтись макетной платой, тут тебе и практика сборки, и практика программирования, да и интереснее как по мне, хотя головной боли в разы больше, зато подешевле :)

процитирую сам себя:

Как известно, теория без практики мертва. Но даже маститые специалисты, создавая устройства, в составе которых имеется микроконтроллер, сталкиваются с проблемами. А что говорить про начинающих? В основном проблема одна: пишешь программу, она не работает, и ты не знаешь причины. Ведь может не работать «железо» или программа.

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

Для облегчения работы разработчика есть несколько проверенных решений:
- «платы разработчика»,
- «отладочные комплекты разработчика»,
- «отладочные комплексы»,
- «стартовые наборы».
При всей разнице в наименованиях, все эти изделия выполняют одну функцию: уменьшить вероятность неработоспособности программы из-за неверного функционирования аппаратной части проекта – «железа». Разработчик как бы отодвигается от аппаратной части проекта, и концентрирует свои усилия на процессе написания и отладки программы.

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

В простых имеется:
- панелька под микроконтроллер,
- модуль преобразователя интерфейсов RS-232 (не всегда),
- пара-тройка кнопок,
- несколько светодиодов.
Но этой «обвязки» однозначно недостаточно для более-менее успешного освоения программирования микроконтроллеров!

В сложных — всё наоборот:
- множество кнопок и светодиодов (зачем?!),
- несколько портов USB (я понимаю, что USB – сейчас модно, но это уже другой уровень, это уже какой-то «крутой» новичок получается),
- графические индикаторы с сенсорной панелью (см. выше),
- с десяток переключателей, которыми задаются связи между компонентами платы (но при этом теряется наглядность).
Alexeyslav
Друг Кота
Сообщения: 4550
Зарегистрирован: Чт май 05, 2011 21:26:34
Откуда: Украина, Славутич
Контактная информация:

Re: Микроконтроллеры - с чего начать новичку?

Сообщение Alexeyslav »

Аппетит приходит во время еды... очень быстро надоедает мигат ьсветодиодами и гонять их взад-вперед, да и с индикатораи наиграешься и тут как раз пригождаются порты.
amfetamin
Грызет канифоль
Сообщения: 256
Зарегистрирован: Сб сен 15, 2012 08:55:53
Контактная информация:

Re: Микроконтроллеры - с чего начать новичку?

Сообщение amfetamin »

какова суть этого экскурса?простой недостаточно,в сложной платим за мусор,решение ток собирать самому???
mich91
Встал на лапы
Сообщения: 95
Зарегистрирован: Ср ноя 02, 2011 15:11:49

Re: Микроконтроллеры - с чего начать новичку?

Сообщение mich91 »

http://my-avr.at.ua/publ/ вот очень классный сайт для начинающих!
Alexeyslav
Друг Кота
Сообщения: 4550
Зарегистрирован: Чт май 05, 2011 21:26:34
Откуда: Украина, Славутич
Контактная информация:

Re: Микроконтроллеры - с чего начать новичку?

Сообщение Alexeyslav »

Не за мусор платим, а за дополнительную функциональность. Когда покупаешь минимальный набор и тебе его не хватает вынужден покупать еще и второй, более навороченный - вот где переводняк средств.
На каком остановится? все зависит от заинтересованности и желания идти дальше. Если только поиграться - то достаточно и минимального набора, или даже среднего. Самый навороченный следует брать только в случае необходимости отладки большого количества разнообразнейших или сложных решений.
Свои наборы стоит разрабатывать только если точно знаешь что тебе нужно - это приходит только с опытом.
Аватара пользователя
ploop
Модератор
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

Re: Микроконтроллеры - с чего начать новичку?

Сообщение ploop »

Я вообще не очень понимаю полезности отладочных плат. Отладить код? Ну так можно сразу в готовом устройстве отлаживать. Не, если этим профессионально заниматься, где сроки, жесткие рамки в выборе решений, может еще что-то... А для любителя эта плата даст только "быстрый старт" с незнакомым МК - светодиодами помигать, что-то проверить... На пару раз, короче. А дальше всё равно в железке работать.
ppp
Это не хвост, это антенна
Сообщения: 1451
Зарегистрирован: Ср мар 02, 2011 20:05:39
Откуда: Карельский перешеек

Re: Микроконтроллеры - с чего начать новичку?

Сообщение ppp »

Alexeyslav писал(а):Свои наборы стоит разрабатывать только если точно знаешь что тебе нужно - это приходит только с опытом.

Не обязательно знать изначально всю конечную конфигурацию отладочного набора. Можно придерживаться модульного принципа построения. Тогда легко наращивать только нужные узлы и вообще просто соскочить на любую другую платформу заменив всего один блок в системе. Как здесь, например, - http://www.matrixmultimedia.com/eblocks ... boards.php
amfetamin
Грызет канифоль
Сообщения: 256
Зарегистрирован: Сб сен 15, 2012 08:55:53
Контактная информация:

Re: Микроконтроллеры - с чего начать новичку?

Сообщение amfetamin »

вооо,эдакий конструктор,а по мере углубления в данный процес расти над собой,ток че то дальше слов у меня не заходит :)))
Alexeyslav
Друг Кота
Сообщения: 4550
Зарегистрирован: Чт май 05, 2011 21:26:34
Откуда: Украина, Славутич
Контактная информация:

Re: Микроконтроллеры - с чего начать новичку?

Сообщение Alexeyslav »

Чтобы в готовом устройстве отлаживать надо его сначала собрать! Отладочная плата позволяет отладить код до того как будут выявлены аппаратные особенности будущей конструкции а так же попробовать несколько разных подходов, которые требуют переделывать аппаратную часть - не очень-то разгонишься уже на готовом... Да и при наличии готового устройства, отладочную плату можно использовать для полировки отдельных частей программы, используя индикатор и светодиоды которых нет в готовом устройстве и не может быть из принципа - 6-выводный микроконтроллер 3 вывода из которых работают как аналоговые. За счет того что периферия зачастую одинаковая, то части кода можно отлаживать на 40-выводном контроллере имея широкие возможности по визуализации и отладке.
Аватара пользователя
Ser60
Друг Кота
Сообщения: 3780
Зарегистрирован: Ср дек 24, 2008 09:58:58

Re: Микроконтроллеры - с чего начать новичку?

Сообщение Ser60 »

Польза от отладочных плат все-же есть. Например, их можно принять в дар от производителя, который использует их для агитации перехода на свои изделия. Ну или купить в промышленных условиях если еще не определились на каком МК делать свое устройство, чтобы пощупать разные МК в живую в плане пригодности для Вашей разработки. Еще пример: их можно использовать на всякий школах-трейнингах опять-же организуемыми разными фирмами для рекламы и быстрого обучения работы со своей продукцией. У меня их уже скопилась гора со всяких мероприятий, больше чем пару-тройку дней я их не использую. Ну или еще, например, чтобы попробовать высокоскоростное устройство на грамотно разведенной плате. Те схемы, что собирают начинающие будут работать как не разведи, только без ошибок. Все эти платы что на картинках можно и самому сделать если нужны. По-моему их покупают только те, кто не хочет возиться с ЛУТом, ХЖ, паяльником, ну или у кого просто руки кривые. Опять-же по-моему подавляющее большинство радиолюбителей под эти категории не подпадают.
Аватара пользователя
ploop
Модератор
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

Re: Микроконтроллеры - с чего начать новичку?

Сообщение ploop »

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

Я сказал - возможно есть, но а) побаловаться, б) при профессиональном использовании (не знаю точно, я любитель)

А теперь давайте с конкретикой: мне надо собрать и отладить... нет, не планшет с тачскрином, а например алгоритм для паяльной станции. Пусть будет посложнее, например там КУ входного усилителя управляется программно (это я для примера). Что я делаю? Правильно, определяюсь с аналоговой частью. Схему, компоненты и т.д. Определился, можно писать код, пока они едут. Чем мне тут поможет отладочная плата (пусть даже с точно таким же чипом на борту, хотя обычно на них самые топовые, и, следовательно дорогие)? Да ничем! Набросать шаблон проекта, может заготовки функций... это я и без неё сделаю. Не имея реальных сигналов под рукой, не анализируя, как оно поведёт себя в той или иной ситуации, отладить программу невозможно.
Так что остаётся два варианта:
1. Лепить макет аналоговой части, цеплять к отладочной плате и отлаживать. Хорошо, если ног хватило.
2. Отладить макет аналоговой части (без МК), разводить как следует, и пилить программу уже в готовом устройстве.
Первый вариант годится только в том случае, если от структуры программы зависит схемотехника аналоговой части. Но, простите, мы не DSP отлаживаем, и не плисины с супер скоростями, а обычный любительский контроллер!!! Смысл?

Да, современные отладочные платы полезно иметь по причинам, которые озвучил Сергей:
1. Демпинговые цены (F4-discovery я купил в 2 раза дешевле, чем стоит контроллер в ней отдельно.)
2. Быстрый старт (знакомство с новой архитектурой)
3. Наличие программатора/отладчика. Наверное основной бонус.

Да и при наличии готового устройства, отладочную плату можно использовать для полировки отдельных частей программы, используя индикатор и светодиоды которых нет в готовом устройстве и не может быть из принципа - 6-выводный микроконтроллер 3 вывода из которых работают как аналоговые.

Обычно на таких контроллерах программу в уме отладить можно. Хотя она всё-равно какое-то воздействие оказывает на внешние цепи - вот вам и интерфейс.
Alexeyslav
Друг Кота
Сообщения: 4550
Зарегистрирован: Чт май 05, 2011 21:26:34
Откуда: Украина, Славутич
Контактная информация:

Re: Микроконтроллеры - с чего начать новичку?

Сообщение Alexeyslav »

Это воздействие может быть результатом реакции на входные сигналы спустя 2...3 часа. А ведь хочется посмотреть, идет ли этот отсчет, насколько правильно и запущен ли он вообще?

Отладка не заключается в полной эмуляции аппаратной части, в том ведь и дело что отлаживать можно отдельные подпрограммы с удобной визуализацией их работы не прибегая к программным отладчикам.
Не всегда ведь можно увидеть по тоннам отладочных цифр насколько правильно и красиво работает устройство. Да и не всегда можно подключить отладчик.
Аватара пользователя
ploop
Модератор
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

Re: Микроконтроллеры - с чего начать новичку?

Сообщение ploop »

Ладно, не будем спорить.
Просто мне ни разу не пригодилась отладочная плата как таковая (ни самодельная с AVR, ни с крутым STM32). Хотя, с помощью неё будет удобно раскурить работу какого-нибудь неизвестного девайса - например нестандартного индикатора...
Аватара пользователя
SubDia
Держит паяльник хвостом
Сообщения: 995
Зарегистрирован: Сб апр 02, 2011 17:59:22
Откуда: Город-герой Севастополь

Re: Микроконтроллеры - с чего начать новичку?

Сообщение SubDia »

ploop писал(а):Хотя, с помощью неё будет удобно раскурить работу какого-нибудь неизвестного девайса - например нестандартного индикатора...

Вот, кстати, да. Я сейчас как раз с помощью F4Discovery отлавливаю глюки SPI-master модуля, накаляканного мной для ксайлинксовской ПЛИСины. Логического анализатора не имею, осциллографом не насмотришься, а так - очень даже вполне можно. Наверное. :)))
pavel_cydenov: Вобще я праAVRославный человек. Но и про ислARM слышал много хорошего )
MrYuran: Самые ортодоксальные — это PICудеи )
Katz: Не, 51-ники. )
Изображение
Аватара пользователя
radio-kot
Собутыльник Кота
Сообщения: 2584
Зарегистрирован: Вт сен 14, 2010 10:27:19

Re: Микроконтроллеры - с чего начать новичку?

Сообщение radio-kot »

Alexeyslav писал(а):Чтобы в готовом устройстве отлаживать надо его сначала собрать!
Это удобно сделать в программе PROTEUS не дожидаясь отсутствующих деталек.
Будете проходить мимо- проходите!
Аватара пользователя
radio-kot
Собутыльник Кота
Сообщения: 2584
Зарегистрирован: Вт сен 14, 2010 10:27:19

Re: Микроконтроллеры - с чего начать новичку?

Сообщение radio-kot »

Рекомендую новичкам Arduino nano - недорогую плату которая подключается в USB - среда разработки бесплатна и удобна, ТЫСЯЧИ примеров интересных устройств на Arduino есть в интернете!

ploop писал(а): и не слушай никого :)
да.
Будете проходить мимо- проходите!
HHIMERA
Друг Кота
Сообщения: 4583
Зарегистрирован: Вс дек 05, 2010 06:10:34
Откуда: ЮВ

Re: Микроконтроллеры - с чего начать новичку?

Сообщение HHIMERA »

radio-kot писал(а):
Alexeyslav писал(а):Чтобы в готовом устройстве отлаживать надо его сначала собрать!
Это удобно сделать в программе PROTEUS не дожидаясь отсутствующих деталек.

Шпротэус непомерно убог и глюкав...
Да и, как правило, то что надо - в нём и нет...
"Я не даю готовых решений, я заставляю думать!"(С)
HHIMERA
Друг Кота
Сообщения: 4583
Зарегистрирован: Вс дек 05, 2010 06:10:34
Откуда: ЮВ

Re: Микроконтроллеры - с чего начать новичку?

Сообщение HHIMERA »

radio-kot писал(а):Рекомендую новичкам Arduino nano

В свете вышесказанного... она тоже, получается, не панацея... если деталек каких-то нет... так??? :))
"Я не даю готовых решений, я заставляю думать!"(С)
Аватара пользователя
Ser60
Друг Кота
Сообщения: 3780
Зарегистрирован: Ср дек 24, 2008 09:58:58

Re: Микроконтроллеры - с чего начать новичку?

Сообщение Ser60 »

Протеус и отладочные платы - как наркотики: кто подсел - жизни без них не представляет и удивляется как жил раньше. По первому разу - кому нравится, кому нет. А кто ими не балуется - они и не нужны, и без них живут счастливо.
Аватара пользователя
radio-kot
Собутыльник Кота
Сообщения: 2584
Зарегистрирован: Вт сен 14, 2010 10:27:19

Re: Микроконтроллеры - с чего начать новичку?

Сообщение radio-kot »

HHIMERA писал(а):не панацея...
панацея одна - смерть.
HHIMERA писал(а): если деталек каких-то нет...
то PROTEUS самое оно!
Будете проходить мимо- проходите!
Ответить

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