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

Здесь принимаются все самые невообразимые вопросы... Главное - не стесняйтесь. Поверьте, у нас поначалу вопросы были еще глупее :)
frog
Родился
Сообщения: 5
Зарегистрирован: Пт июн 08, 2012 00:11:52

Re: С чего начать изучение контроллеров?

Сообщение frog »

Всем - доброго времени суток!
Спасибо за ответы и советы!
Читал статьи и книги, вернее, пытался вникнуть, особенно в те кусочки - как зажигать светодиоды "ассемблером" - про AVR всё же как-то чуток понятнее на этом этапе.
PIC - хуже, надеюсь, что - пока :)
Frogfot писал(а):Тогда уже лучше ATmega8(48) - почти то же самое + ADC + SPI + TWI + ног больше, возможностей выше крыши :)

ppp писал(а):frog
Как я выбирал между PIC и AVR? Да никак. Просто сначала нашел схему устройства, которое было бы полезным в хозяйстве. Первым оказался тестер полупроводниковых приборов на ATmega8. Сделал программатор под Atmel'евские MK, разобрался как и чем заливать чужие прошивки для AVR, что такое фьюзы и с чем их едят. Сделал еще несколько разных полезностей на AVR. Так выбор и определился.
... Тем, кто уже собрался закидать меня гнилыми помидорами, напомню: 50 лет, это уже тот возраст, когда все чаще не остается без внимания информация о средней продолжительности жизни в нашей стране :). И тратить то, что отведено, на глубокое изучение, чтобы потом виртуозно применять на практике только для своих поделок - ну не всегда целесообразно, можно банально не успеть дойти до практики, а хочется :).

Эти сообщения прочитал уже вечером, а днём купил ATmega8 и четырёхразрядную светодиодную матрицу - для начала всё же решил попробовать, как работает китайское чудо - купленный программатор :)
ppp, особенно - про время и возраст - просто в яблочко, очень верно подмечено! Я об этом тоже думаю...
Аватара пользователя
urry
Сверлит текстолит когтями
Сообщения: 1262
Зарегистрирован: Пн дек 08, 2008 10:58:48
Откуда: Винница
Контактная информация:

Re: С чего начать изучение контроллеров?

Сообщение urry »

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

Re: С чего начать изучение контроллеров?

Сообщение ppp »

Поздравляю с юбилеем, urry! Плюс в карму за оптимизм :).

Так и знал, что этим закончится :). А я нисколько не гундостный пессимист, как может показаться, я просто реалист. Каждый из нас экономит то, чего у него мало. В юности все экономят в основном деньги, в зрелом возрасте - время, а я теперь вот экономлю еще и силы, и лучшим средством (для меня!) оказалось FlowCode, хотя и 10-летний опыт программирования на нескольких языках разного уровня какой-никакой имею. В религиозных спорах на тему "на чем лучше писать" не участвую принципиально. На чем не пиши, а результат всё равно будет зависеть не от этого, а от того, кто писал. И дураку понятно, что в идеале, чем ближе к архитектуре и машинным кодам, т.е. чем меньше компилятор добавит своей отсебятины, тем эффективнее, но это же совсем не значит, что написаный мной код на изученном по статейкам в Сети асме будет работать эффективнее, чем та же программа, написанная на бэйсике человеком, много лет пишущем на нем для МК (в Bascom'e или как там называется их популярная среда) и до тонкостей уже изучившем все его возможности... Реалисты же никогда не визжат от восторга первых впечатлений, они всё взвешивают :). Шустро сбегаем вон к той белой тёлочке - это не для нас, мы предпочитаем степенно спуститься с горы и покрыть всё стадо :). И пальцы растопыривать, упиваясь своей крутизной, нам тоже уже давно не интересно. Можем уже позволить себе то, что считаем целесообразным сами, а не "принятое большинством голосов". А в чем сомневаемся, уже давно не стесняемся и спросить.

Хорошего Вам, urry, настроения в этот праздничный день, всё самое интересное у Вас ещё впереди!
ppp
Это не хвост, это антенна
Сообщения: 1451
Зарегистрирован: Ср мар 02, 2011 20:05:39
Откуда: Карельский перешеек

Re: С чего начать изучение контроллеров?

Сообщение ppp »

Кстати, вчера совместными с frog усилиями обнаружили, что разработчик убрал с сайта версию free. У меня сохранился инсталяционный файл этой версии для AVR от 1-го марта, со стариками-разбойниками могу поделиться по запросу в личку (размер 36Мб!, без примеров, масса примеров на сайте разработчика доступна в формате для PIC, но легко конвертируются в самой программе для AVR). В свободный доступ выложить не могу, религия бывшего программиста не позволяет, раз разработчики убрали, значит были на то причины.

Извините, ввёл в заблуждение. Всё на сайте есть, free версии здесь - http://www.matrixmultimedia.com/lc_index.php?p=25
Аватара пользователя
Андрей Бедов
Друг Кота
Сообщения: 37346
Зарегистрирован: Чт авг 30, 2012 20:24:40
Откуда: Нижний Новгород

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

Сообщение Андрей Бедов »

Вот собственно в заголовке темы всё сказано.
Давно хотел приобщиться к этой теме, потому что вижу, что всё больше конструкций собираются именно на МК. Я сам только в общих чертах знаю принципы работы МК. Подскажите пожалуйста для начала какие-нибудь распространённые "детские" МК для начинающего, и схемы программаторов к ним. В программировании не понимаю. Могу только готовую программу запрограммировать.
SmarTrunk
Друг Кота
Сообщения: 6014
Зарегистрирован: Чт ноя 26, 2009 11:16:50
Откуда: Москва

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

Сообщение SmarTrunk »

Начать- c чтения книг. Например, по микроконтроллерам AVR, их много
Аватара пользователя
Андрей Бедов
Друг Кота
Сообщения: 37346
Зарегистрирован: Чт авг 30, 2012 20:24:40
Откуда: Нижний Новгород

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

Сообщение Андрей Бедов »

SmarTrunk писал(а):Начать- c чтения книг. Например, по микроконтроллерам AVR, их много

Хотелось-бы сначала на практике, вживую опробовать, ну а потом подкрепить теорией. Надо себя заинтересовать. :)
Азазелло
Родился
Сообщения: 6
Зарегистрирован: Пт окт 12, 2012 22:56:15

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

Сообщение Азазелло »

Возможен будет полезен мой опыт:

1. Прокурил мельком вышеупомянутые книжки. Все есть тут http://lord-n.narod.ru/walla.html#razdelMCU Меня спас институтский курс лекций по микроконтроллерам Motorolla в далеком 2003. Если вы вообще не представляете, что такое МК, то будет сложнее :) От книжек легче не стало, т.к. большая часть информации - :shock: ну никак не для новичков. Зато еще больше захотелось влится в ряды программеров...

2. Отправился в магазин и купил программатор. Вот этот https://www.olimex.com/Products/AVR/Programmers/AVR-ISP-MK2/. Стоит 1000 руб. Там же купил сам МК - ATtiny13 в корпусе DIP. Стоит 60 р.

3. Втыкнул проц в макетную плату с дырочками, сделал разъем программирования из штырьков 2х5, втыкнул его в плату в соответствии с картинкой https://www.olimex.com/Products/AVR/_resources/AVR-ICSP-10.gif

4. Скачал и установил ATMEL STUDIO 6 с официального сайта ATMEL.

5. Скачал и установил дрова под программатор с сайта производителя.

6. Подсоеднил к ноуту через USB (через кабель от принтера) программатор, программатор к штырькам на макетке.

7. Написал прогу моргания светодиодом на СИ (есть пример в книге Шпака, в инете), скомпилил, залил в проц. Вынул разъем программирования, подключил к нужной ноге светодиодчерез резюк, подал питание на проц 3 в. Диод заморгал.

8. Целый день бегал всем показывал, какой продвинутый мультивибратор я сделал :)

PS: вот тут некоторые ерничают над новичками, а я хочу заметить, что полной, исчерпывающей информации по освоению МК практически НЕТ! Сайты-учебники, такие как ссылка в верхнем посте, в основном устарели как овно мамонта. Особенно прикалывают предложения НОВИЧКУ самому СОБРАТЬ ПРОГРАММАТОР да еще и LPT портовый :shock:

Сейчас читаю здесь http://myrobot.ru/stepbystep/ и здесь http://avr-libc.narod.ru/
Аватара пользователя
Андрей Бедов
Друг Кота
Сообщения: 37346
Зарегистрирован: Чт авг 30, 2012 20:24:40
Откуда: Нижний Новгород

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

Сообщение Андрей Бедов »

Азазелло писал(а):..особенно прикалывают предложения НОВИЧКУ самому СОБРАТЬ ПРОГРАММАТОР да еще и LPT портовый :shock

Ну программатор спаять для меня не проблема, к тому же видел, что у ATiny он очень простой на СОМ-порт. Я не осилю программирование. И правда-ли, что напутав с фьюзами (не знаю что это), можно безвозвратно убить МК. Я думал это невозможно.. Всегда же должна быть защищённая область памяти, ну или аппаратная какая-нибудь защита от ошибок. Я даже якобы "безнадёжно" убитые USB-флэшки реанимировал. Тоже спецпрограммами, и скачивал прошивки для контроллера флэшки.
SII
Вымогатель припоя
Сообщения: 635
Зарегистрирован: Пт янв 30, 2009 14:50:35
Откуда: Солнечногорск

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

Сообщение SII »

Без умения программировать с микроконтроллерами работать не получится -- в лучшем случае тупо повторять чужие схемы и программы. Так что его надо осваивать в обязательном порядке, и вовсе не обязательно на МК. Вполне можно сначала научиться программировать на ПК, ведь основные принципы не зависят от того, на чём пишется и выполняется программа -- главное здесь "въехать" в сам процесс постановки задачи, выбора алгоритма, его реализации на том или ином языке, отладки...
SmarTrunk
Друг Кота
Сообщения: 6014
Зарегистрирован: Чт ноя 26, 2009 11:16:50
Откуда: Москва

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

Сообщение SmarTrunk »

При неудачной установке фьюз может потребоваться, например, подать на МК внешний тактовый сигнал, или использовать более сложный параллельный программатор.

А ведь есть же простые среды для МК? Я слышал, даже на Бейсике пишут? А еще есть Алгоритм-Билдер какой-то?
aleksandr-zh
Сверлит текстолит когтями
Сообщения: 1278
Зарегистрирован: Пн июн 18, 2007 21:51:20

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

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

Андрей
только практика
я начинал со Спектрума, там был Бейсик, потом Паскаль пощупал...
Писал для PIC на PICbasic и немного ассемблере, потом на работе пришлось перейти на AVR, его я изначально не планировал программировать на ассме, ведь он и делался под "высокий уровень". Под AVR писал на FastAVR, потом пришлось на Bascom.
тут всё сложил: http://pic-avr.narod.ru/avr/compilers.htm

программаторы для AVR есть разные, от простых на LPT (5 проводков) до весьма сложных - на USB : http://pic-avr.narod.ru/avr/programmator.htm

потом я сделал стенд: http://pic-avr.narod.ru/stend/plata-gotova-mal.JPG
коллегам понравился, сделал еще и так пошло-поехало :)

главное, читайте, думайте и проверйте информацию в нескольких источниках
Аватара пользователя
_RUS73_
Мудрый кот
Сообщения: 1741
Зарегистрирован: Ср май 26, 2010 14:41:09

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

Сообщение _RUS73_ »

Я вот тоже хочу заняться программированием микроконтроллеров. С языком пока не определился. Решил начать все сразу изучать Си, ассемблер, бэйсик. А дальше уже видно будет, на каком конкретно остановиться. Материально-техническая база уже практически готова, осталось дождаться беспаечной макетки и дисплеев и можно начинать.
Философская мудрость века настоящего, становится всеобщим здравым смыслом века последующего.
Аватара пользователя
menzoda
Вымогатель припоя
Сообщения: 535
Зарегистрирован: Вт авг 28, 2012 22:21:33

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

Сообщение menzoda »

_RUS73_ писал(а):С языком пока не определился. Решил начать все сразу изучать Си, ассемблер, бэйсик.


Может лучше не распыляться, а сделать упор на си? Ведь ассемблер у каждого свой, а бейсик я даже не знаю где сейчас применяется.
Аватара пользователя
O-LED
Мудрый кот
Сообщения: 1800
Зарегистрирован: Вт окт 05, 2010 01:08:57
Контактная информация:

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

Сообщение O-LED »

_RUS73_ писал(а):Я вот тоже хочу заняться программированием микроконтроллеров. С языком пока не определился. Решил начать все сразу изучать Си, ассемблер, бэйсик. А дальше уже видно будет, на каком конкретно остановиться. Материально-техническая база уже практически готова, осталось дождаться беспаечной макетки и дисплеев и можно начинать.


уж бейсик вам точно не надо.....
KIT
Аватара пользователя
Chip115
Сверлит текстолит когтями
Сообщения: 1132
Зарегистрирован: Пт фев 16, 2007 14:18:20
Откуда: Новосибирск
Контактная информация:

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

Сообщение Chip115 »

Всем новичкам будет полезно почитать тут. Там все четко и структурировано.
Теория — это когда все известно, но ничего не работает. Практика — это когда все работает, но никто не знает почему. Мы же объединяем теорию и практику: ничего не работает… и никто не знает почему!
© Альберт Эйнштейн
Аватара пользователя
Андрей Бедов
Друг Кота
Сообщения: 37346
Зарегистрирован: Чт авг 30, 2012 20:24:40
Откуда: Нижний Новгород

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

Сообщение Андрей Бедов »

Вот всё-таки не пойму одного: с какого МК начать? Чтоб и недорогой был, и неубиваемый программно, и программатор простой спаять без дефицитных деталей. По всем параметрам советуют ATtiny, да?
Кстати, в Интернете видел ссылку (но не сохранил) как собрать устройство для восстановления программно убитых фьюзами (и не только) МК.
Аватара пользователя
Chip115
Сверлит текстолит когтями
Сообщения: 1132
Зарегистрирован: Пт фев 16, 2007 14:18:20
Откуда: Новосибирск
Контактная информация:

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

Сообщение Chip115 »

Андрей Бедов писал(а):Вот всё-таки не пойму одного: с какого МК начать? Чтоб и недорогой был, и неубиваемый программно, и программатор простой спаять без дефицитных деталей. По всем параметрам советуют ATtiny, да?
Кстати, в Интернете видел ссылку (но не сохранил) как собрать устройство для восстановления программно убитых фьюзами (и не только) МК.

Лучше брать тот, на основании которого будет проходить твое обучение. Если будешь юзать сайт Ди (ссылка выше), то бери тот, что он юзают в примерах. AVR являются (с чего бы. По большому счету фигня для бесполезных безделушек) наиболее популярным и доступным с кучей инфы на русском языке. Для новичка - самое то. Я вообще начинал с 8051.
Теория — это когда все известно, но ничего не работает. Практика — это когда все работает, но никто не знает почему. Мы же объединяем теорию и практику: ничего не работает… и никто не знает почему!
© Альберт Эйнштейн
aleksandr-zh
Сверлит текстолит когтями
Сообщения: 1278
Зарегистрирован: Пн июн 18, 2007 21:51:20

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

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

освоение надо начинать так:
-знать основы электроники. МК - устройство электронное, и управляет электронными компонентами
-уметь читать схемы, особо на цифровых элементах.
- знать работу цифровых систем (напряжение "1" и "0", TTL\ CMOS, Шина, открытый коллектор, АЦП и ЦАП, компаратор). Умень на мелкой логике собрать схему "бегущий огонек", потом "кодовый замок" с управлением 2-3 реле (задвижка, сигнал)
- уметь составлять алгоритмы.
- уметь записывать алгоритм на любом (!!!) языке программирования. Паскаль, Фортран, Си, Бейсик - пофигу!
- желательно иметь опыт написания программ для ПК - там их проще отлаживать, видя результат на экране.

дальше:
собрать\купить простую плату с МК, питанием, Сбросом, RS232, св.диодами и кнопками
Это минимальный набор, на котором ДЕЙСТВИТЕЛЬНО можно влиться в работу с МК
могу посоветовать AVR - главный плюс: огроменный выбор средств разработки, масса документации и простой "программатор" на 5 проводков.
могу посоветовать свой стенд (мега8а, всё в компекте. Ссылку давал выше) или вот этот (мега128a, но бедновата перефирия: кнопки, порт и св.диоды :( http://www.ebay.com/itm/130739854219?ss ... 1439.l2649
20 долларов с доставкой.
Изображение



СРАЗУ ПРЕДУПРЕЖДАЮ: УСТРИИВАТЬ ХАЛИВАРЫ (СВЯЩЕННЫЕ ВОЙНЫ) - НЕ СТАНУ. :kill:
Так как мне, имея некий опыт работы с МК уже всё равно, с чем работать: писал и на асме для 286/386, на асме и паскалях\бейсках для PIC и AVR. Хочу попробовать "классику" х51/52, но некогда


ps
забыл сказать:
с 2003 года всё для МК пишу на бейсик\паскале-подобных языках, ни разу не чувствовал себя ущепленным, так как качество моего кода не хуже, писанных на иных "языках". Главное, уметь думать и правильно писать алгоритмы

МИНУС владения только одним средством разработки ("языком"): ждёшь, когда появится компилятор под "твой" "язык".
Аватара пользователя
mixon46
Говорящий с текстолитом
Сообщения: 1644
Зарегистрирован: Сб фев 18, 2012 15:42:29
Откуда: Курск

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

Сообщение mixon46 »

я сам не понял еще как все работает. Ну начал с того что собрал программатор stk200/300 под lpt порт (25 выводов). Потом после сборки этого программатора пошел купил тини 2313. Панельку под него. Кварц 4 мгц. Пару конденсаторов 22 пф. Штук 10 светодиодов. Кнопочек парочку. И собрал устройство "бегущий огонь". (человек посоветовал с этого начать) Там и прошивка была и схема. Собрал вобщем. Все заработало. Мне понравилось. Потом собрал "мираж". и пока что то ничего не охота делать:)
Ответить

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