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

Здесь принимаются все самые невообразимые вопросы... Главное - не стесняйтесь. Поверьте, у нас поначалу вопросы были еще глупее :)
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: Программирование микроконтроллеров - новичку

Сообщение ARV »

Satyr писал(а):Скажем, для нормального старта работы, доупустим с атмегой64, считаю необходимо ознакомиться хотя бы с этими документами:
ATmega64(L) Datasheet
Atmel AVR042: AVR Hardware Design Considerations
AVR Instruction Set
AVR001: Conditional Assembly and portability macros
AVR035: Efficient C Coding for 8-bit AVR microcontrollers
AVR040: EMC Design Considerations

Без этого просто нечего ловить.

А вобще аппнотов там туча

я бы чуток упростил этот список (именно для старта):
ATmega64(L) Datasheet
:)))
и еще, естественно, более-менее нормальное руководство по WinAVR и AVR Studio. система команд и прочее - это уже излишества для продвинутых :)))

по поводу ARM-ов: я не настаиваю на том, что моя точка зрения есть неопровержимая истина: это лишь мое личное впечатление. по любому вопросу всегда можно найти МНОГО документов, но изучать любой вопрос удобнее ПО ЕДИНСТВЕННОМУ - пусть не полному, но обощенно правильному. я упомянул, что очень хотел бы КУПИТЬ КНИГУ на русском языке, прочитав которую я смог бы сразу начать писать СВОИ программки для своих задач, а не повторять чужие "учебные примеры". если вы знаете, где такая книга продается - скажите мне, пожалуйста. на сегодняшний день я скачал порядка 60 мегабайт разных PDF-ов, и я далеко не уверен, что их чтение (дается с трудом, т.к. английский) меня продвинет кардинально.

пока что я вижу только один путь для освоения ARM: это брать готовый код, добиваться, чтобы он заработал на моей макетной плате, после чего пытаться модифицировать его, почитывая по мере необходимости доки по ARM-ядру и конкретной STM32-овской периферии. все это сопровождается дикими потерями времени на поиск информации, попыток отделить мух от котлет и т.п. короче говоря, это самый унылый путь...
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: Программирование микроконтроллеров - новичку

Сообщение ARV »

Satyr писал(а):Давай конкретней - с каким МК не задалось и что именно не понятно ?
Не ради там поспорить или чем нибудь померятся, а если есть желание разобраться и улучшить собсные компетенции
я ценю ваше желание помочь. однако, нет ничего хуже, чем учить умного :) у меня есть STM32VLdiscovery и NXP-ишная платка, которую они даром рассылали всем желающим, не помню, что там за LPC. что Cortex-M0 - помню :) я уже достиг самостоятельно следующих высот: настроил Eclipse в связке с Yagarto, затсвил работать GDB с платкой STM32. с NXP-ишником дела хуже, т.к. они хотят давать свои "студии" и "примеры" только после регистрации, а мне лень регистрироваться. тем более что я пытаюсь быть честным, а они пристают в анкетах с вопросами "для каких проектов", да "какая потребоность в год" :)))

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

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

Мой уютный бложик... заходите!
Аватара пользователя
Satyr
Друг Кота
Сообщения: 7439
Зарегистрирован: Чт ноя 04, 2010 01:56:36
Откуда: г. Москва

Re: Программирование микроконтроллеров - новичку

Сообщение Satyr »

ARV писал(а):я упомянул, что очень хотел бы КУПИТЬ КНИГУ на русском языке, прочитав которую я смог бы сразу начать писать СВОИ программки для своих задач, а не повторять чужие "учебные примеры".

Да книги это как бы обо всем и ни о чем. Именно пол книги нарезка самых общих слов из суммари к даташиту на семество + личный опыт решения автором 2-3 задач. По мне так они как раз для повторения примера, а не решения собственных задач.
Вобщем, книги с детства не люблю -))

если вы знаете, где такая книга продается - скажите мне, пожалуйста.

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

пока что я вижу только один путь для освоения ARM: это брать готовый код, добиваться, чтобы он заработал на моей макетной плате, после чего пытаться модифицировать его, почитывая по мере необходимости доки по ARM-ядру и конкретной STM32-овской периферии. все это сопровождается дикими потерями времени на поиск информации, попыток отделить мух от котлет и т.п. короче говоря, это самый унылый путь...

Я бы все же рекомендовал сначала прочитать общую информацию, без конкретики, о семействе, дальше даташит на семейство хотя бы общую часть, не вдаваясь а главы о переферии, которую на первых парах не планируется использовать, а уже далее приступит к итерационному процессу: практика->проблема->чтение мануала->исправление проблемы->практика... =)))
Аватара пользователя
Satyr
Друг Кота
Сообщения: 7439
Зарегистрирован: Чт ноя 04, 2010 01:56:36
Откуда: г. Москва

Re: Программирование микроконтроллеров - новичку

Сообщение Satyr »

ARV писал(а):настроил Eclipse в связке с Yagarto, затсвил работать GDB с платкой STM32

Как сложно... возможно уже в этом часть проблемы -))
Я так понимаю, мсье сторонник юниксов ?

В том же IARе (совершенно законных - 30 дневном триал и 32Kb кик-старт едишн) есть масса примеров под те же NXP. Во всяком случае работы с простой периферией.

В чтуках на основе Eclipse, даже если закрыть глаза на его громоздкость и тормознутость, черт ногу сломит. Сам с ним пол года мучился на Atmel AVR32 Studio, пока IAR студию не купили.
Аватара пользователя
Satyr
Друг Кота
Сообщения: 7439
Зарегистрирован: Чт ноя 04, 2010 01:56:36
Откуда: г. Москва

Re: Программирование микроконтроллеров - новичку

Сообщение Satyr »

судя по яндексу, с книгами, действительно, не фантан.
Нашел такое http://www.bolero.ru/catalog/books/9785941202416.html
про старое ядро, зато именно NXP -))

на амазоне значительно лучше, но это если английский язык не смущает.

полистал слегка - похоже неплохая книга и точно в тему.
http://books.google.com/books?id=mb5d_x ... over&hl=ru

стоит 4500р в озоне или около 40$ на амазоне.
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: Программирование микроконтроллеров - новичку

Сообщение ARV »

Satyr писал(а):пока IAR студию не купили.
это ключевая фраза: я не смогу ее купить никогда, поэтому даже не буду пробовать ее осваивать. бесплатный Eclipse - мой осознанный выбор (хотя к линухам у меня аллергия).

Satyr писал(а):это если английский язык не смущает
если бы он меня не смущал, я и по скачанным файлам с горем пополам смог бы все понять :)))

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

в общем, для того, чтобы заполучить меня в поклонники ARM-ов, сами армовцы и другие производители сделали слишком мало :)))
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Аватара пользователя
YS
Друг Кота
Сообщения: 7518
Зарегистрирован: Вс мар 29, 2009 22:09:05
Контактная информация:

Re: Программирование микроконтроллеров - новичку

Сообщение YS »

более всего меня убивает отсутствие СВЯЗНОЙ информации В ВИДЕ ЕДИНСТВЕННОГО документа. даже на пентиум описание в одной книге всегда было - а тут на каждый чих свои доки со своими ерратами и прочим. если не знаешь, что где нужно искать - нипочем не найдешь!


+100!

Я работаю с AVR, STM32 и MSP430.

У AVR - все необходимое в одном файле. Да, возможно, это и избыточно, потому что многое (например, работа с портами) повторяется из даташита в даташит, но зато невероятно удобно для end user'а - скачал даташит, прочитал, начал работать. Вопросы? В тот же даташит, все там.

У MSP430 - немного более напряжно. Есть даташиты на конкретный МК - в них описывается только что есть именно в этом кристалле. А есть даташит на семейство вообще (ссылка на него есть в каждом даташите на конкретный кристалл) - все вопросы туда. Качать надо даташит на кристалл + даташит на семейство. Но, слава Богу, они лежат рядом.

У ARM - ядерный кошмар. Есть даташит на кристалл, даташит на семейтство, даташит на ядро, даташит на периферию ядра, мануал по программированию периферии, мануал по программированию периферии ядра, еще дофига мануалов. И все лежит на разных сайтах в разных местах. Не мог нормально вкурить до тех пор, пока не сходил на семинар от Компэл. Да и то не до конца разобрался.

Давай конкретней - с каким МК не задалось и что именно не понятно ?


STM32 Cortex-M3 core. Как работать с NVIC без CMSIS? Структура NVIC, приоритеты, группы приоритетов... What it's all about?
Разница между теорией и практикой на практике гораздо больше, чем в теории.
РЛС
Это не хвост, это антенна
Сообщения: 1371
Зарегистрирован: Вс июл 25, 2010 17:30:25
Откуда: с севера

Re: А вот микроконтроллеры - это кто такие?

Сообщение РЛС »

С какой книженции лучше начать изучение мк :)) ???
Enman
Друг Кота
Сообщения: 7774
Зарегистрирован: Сб янв 29, 2011 00:28:48

Re: А вот микроконтроллеры - это кто такие?

Сообщение Enman »

смотря какая базовая подготовка есть...сначала понять цифровую логику, потом основы цифровой вычислительной техники, а потом уже про конкретные семейства мк ( неплохо бы уточнить в вопросе)...
РЛС
Это не хвост, это антенна
Сообщения: 1371
Зарегистрирован: Вс июл 25, 2010 17:30:25
Откуда: с севера

Re: А вот микроконтроллеры - это кто такие?

Сообщение РЛС »

Изображение
Собрал вот такой программатор
Учиться буду по книге Белова :))
Аватара пользователя
SubDia
Держит паяльник хвостом
Сообщения: 995
Зарегистрирован: Сб апр 02, 2011 17:59:22
Откуда: Город-герой Севастополь

Re: А вот микроконтроллеры - это кто такие?

Сообщение SubDia »

Вот блин. Я тут ответ пару дней назад писал, а оно все пропало. =))
Насчет Белова - в принципе, книга неплохая.
Я в прошлой итерации этого ответа советовал книгу Лебедева. Тоже рекомендую.
А "программатор" этот называется "пять проводков". :)
pavel_cydenov: Вобще я праAVRославный человек. Но и про ислARM слышал много хорошего )
MrYuran: Самые ортодоксальные — это PICудеи )
Katz: Не, 51-ники. )
Изображение
РЛС
Это не хвост, это антенна
Сообщения: 1371
Зарегистрирован: Вс июл 25, 2010 17:30:25
Откуда: с севера

Re: А вот микроконтроллеры - это кто такие?

Сообщение РЛС »

А полное название??? :))
Аватара пользователя
DiGiCat
Друг Кота
Сообщения: 4793
Зарегистрирован: Пт июл 11, 2008 09:42:35
Откуда: Made in USSR

Re: А вот микроконтроллеры - это кто такие?

Сообщение DiGiCat »

"Code Vision AVR. Пособие для начинающих." М.Б.Лебедев (2008)

В сундуке могот быть есть...

"Программирование на языке C для AVR и PIC микроконтроллеров." Шпак Ю.А.
"Микроконтроллеры AVR семейства Mega." Евстифеев А.В.
и т.д., долго все перечислять...
scio me nihil scire...
_______________________

Изображение <= Жалобная кнопка в правом нижнем углу... )
РЛС
Это не хвост, это антенна
Сообщения: 1371
Зарегистрирован: Вс июл 25, 2010 17:30:25
Откуда: с севера

Re: А вот микроконтроллеры - это кто такие?

Сообщение РЛС »

Сделал мигающий светодиод на мк :)))
Теперь буду прогать бегущие огоньки как в обучалке :)) :facepalm:
Аватара пользователя
shodan
Поставщик валерьянки для Кота
Сообщения: 2087
Зарегистрирован: Чт май 24, 2012 22:47:39
Откуда: Тула
Контактная информация:

Re: А вот микроконтроллеры - это кто такие?

Сообщение shodan »

hrak писал(а):Собрал вот такой программатор
Учиться буду по книге Белова :))


Очень советую использовать не этот обрубок, а хотябы STK200.
порты штука нежная, при эксперементах выгорают и вообще.....
Дозиметр мало отличается от девушки, он нежный, любит чистоту, и хорошо себя чувствует только под обильным слоем лака.
frog
Родился
Сообщения: 5
Зарегистрирован: Пт июн 08, 2012 00:11:52

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

Сообщение frog »

Уважаемые спецы.
Я полный ноль в программировании не считая основ Бейсика и Паскаля, да и то - очень давно это было.
В общем, хочу попробовать начать с нуля.
Для начала приобрёл программатор:
USBASP ISP Programmer Adapter 10 Pin Cable For ATMega8 AVRDude CAN PWM Series

Изображение Изображение

на чипе написано

ATMEL
ATMEAG8L
8AC 0318
QS049


Features:

Brand new and high quality.
Support for AVRDude from version 5.2 onwards.
Allows you to to read or write the microcontroller EEPROM, firmware, fuse bits and lock bits.
Support for Linux, Mac OS X and Windows (will work on vista).
5 KB/sec maximum write speed.
Software controlled SCK option to support targets with low clock speed (< 1.5MHz).
10 pin ISP interface.
These programmers are a perfect companion to the Protostack 28 pin AVR Development Board or the Protostack ATMEGA8 Development Kit.

На подходе - самодельный PicKit2

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

В электронике соображаю на уровне ремонта бытовой электроники и так далее.

Надеюсь на участие и понимание со стороны форумчан.
З.Ы., мне 50 лет, староват конечно, но хочу попробовать, что это такое - программирование микроконтроллеров,
мож заодно и схемку часов подкинете, чтобы простая на АЛС, с будильником, гарантированно рабочую., ну, для того, чтобы попробовать рошить её этим программатором, да и пригодится...
Аватара пользователя
Ser60
Друг Кота
Сообщения: 3781
Зарегистрирован: Ср дек 24, 2008 09:58:58

Re: чайник просит помощи.

Сообщение Ser60 »

Сравнивая Ваши программаторы, PicKit2 обладает бОльшим функционалом, т.к. помимо программирования МК с ним еше можно делать и внутрисхемную отладку программы в МК, и это большой плюс.

Многие начинают либо с AVR либо с PIC16 и преимущество одного семейства перед другим спорно. По обоим есть много литературы на Русском, посмотрите для начала в сундуке Кота.

Мое мнение, что с приобретенными программаторами на первых порах будет спокойнее работать с PIC, потому что если по-неопытности запорите "фьюзы" у AVR-ки, Ваш программатор их не всегда восстановит. Это бич многих начинающих. Для разработки программ для PIC, пожалуй, самыое популярное решение - это MPLAB, кот. можно скачать с microchip.com. Для AVR имеется несколько популярных вариантов. Я пользуюсь AVRStudio, кот. скачивается с atmel.com и проблем не вижу. У многих свои предпочтения в software.

Схемы, думаю, уместно рекомендовать когда определитесь с типом МК. Я-бы все-же начал с чего-нибудь попроще, например, с мигалок или термометра.

Учится никогда не поздно, но если будете стесняться задать вопрос в форуме, можете стучаться ко мне в личку.
vitos
Первый раз сказал Мяу!
Сообщения: 36
Зарегистрирован: Вс янв 08, 2012 18:23:36

Re: чайник просит помощи.

Сообщение vitos »

мне тоже больше 50.освоил я пики на уровне ассемблера совсем недавно (не больше года). и ушло времени на изучение асм не больше 2 недель .если вы электронщик -железячник то проще освоить пики т.к. ассемблер у них проще ассемблера авр (35 команд против более 100). но продвигаться дальше оказалось сложнее (освоить Си например). если вы программист видимо проще авр и сразу с Си.
и если бы не ПРОТЕУС то и не стал бы связываться с мк.
TripleKill
Вымогатель припоя
Сообщения: 671
Зарегистрирован: Вт июн 29, 2010 12:31:49

Re: чайник просит помощи.

Сообщение TripleKill »

Я начинал освоение пиков с асма и до неприличия простого программатора:

Изображение

Он нормально шил PIC16F84, а вот PIC16F877 уже не потянул.
borys
Держит паяльник хвостом
Сообщения: 927
Зарегистрирован: Вт сен 07, 2010 19:27:48
Откуда: Ташкент

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

Сообщение borys »

Коллега frog!
Есть смысл начать с повторения готовых проектов и освоить процедуру прошивки МК. Затем
покопаться в чужих исходниках, что нибудь в них поменять, откомпилировать и посмотреть результаты. Понемногу придет понимание. Успехов Вам!
Ответить

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