LINUX.ORG.RU

Разобраться с микроконтроллерами

 , , ,


1

2

Помогите почти гуманитарию разобраться с микроконтроллерами, с тем, как они работают. Из знаний только универская физика-электричество, немного про цепи знаю, и немного С. Надо въехать в архитектуру ARM. Помогите составить примерный курс с хорошими книгами, пусть даже и довольно длинный, типа вначале учишь то, потом то, потом это... Потому что когда я читаю про делители частоты, регистры, порты или смотрю на это https://www.olimex.com/Products/ARM/ST/STM32-P103/resources/STM32-P103-sch.gif мне хочется плакать. В общем, мне нужна прочная база чтобы нормально читать специализированные справочники по микроконтроллерам.


Будешь на протон ставить датчики — будь внимателен, соблюдай чертёж.

anonymous ()

Может лучше с AVR тогда начать? Он проще.

А вообще, не факт, что тебе нужно схемотехнику на начальном этапе знать - берешь Arduino и вперед.

kulti ★★ ()

Практика нужна, хотя бы самая элементарная, тогда почувствуешь уверенность и будет на что «наматывать» знания. Купи atmega , кварц , два кондера 22 пики и кренку, спаяй программатор «5 проводков».

зы. Вот это наше образование, университетская физика (цензоред), не обижайся - я сам такой.

ilovewindows ★★★★★ ()

Чтобы с кем-то разобраться, обычно звонят правильным людям ;] А вообще как советуют, купить avr, тот же atmega 8, спаять либо lpt, либо com(я предпочитаю com) программатор и вперед. Ничего страшного и сложного нету, на атмеги есть отличные официальные даташиты, где все четко и ясно описано и есть свободные libc и gcc с avrdude. Удачи.

grouzen ★★ ()
Ответ на: комментарий от kulti

А потом он будет удивляться, почему сгорела ардуина, когда он повесил на её пины движок. Или ещё что. Нет уж, физику всё равно учить надо. Это как учиться водить машину только выучив названия элементов управления и совсем забыв про ПДД.

KivApple ★★★★★ ()
Последнее исправление: KivApple (всего исправлений: 1)

Как работать с неизвестной платой:
Гуглим: https://www.olimex.com/Products/ARM/ST/STM32-P103/
Находим что используется: STM32F103RBT6
Находим на st.com: http://www.st.com/web/catalog/mmc/FM141/SC1169/SS1031/LN1565/PF164487?s_searc...
Кочаем Datasheet
Смотрим:
- Pinouts and pin description
- Memory mapping

Качаем Reference Manual
Просматриваем бегло один раз для семейства текст и картинки. Цифры, таблицы, условия эксплуатации игнорируем.
Потом быстро будем искать что и зачем нужно поиском по названию ноги (напр. PA1) или функции (напр USART1_RX).

В случае с ST, чтобы не заниматься ерундой вместо создания устройства есть «STM32F10x standard peripheral library».
В стандартной библиотеке есть работающие примеры, которые покрывают полностью всю перефирию.
Тут есть загвоздка, первую плату для семейства процессоров лучше брать STM32F* Discovery, т.к. примеры кода будут работать без переназначения ножек и прочих чудес.

Если возможности нет, то надо смотреть какие примеры даёт сам производитель:
Blinking LED
Sample mouse driver
Mass Storage
USB-to-RS232 Virual COM port

Сходу надо запускать первый и последний.
Мигать светодиодом помогает создать работающий проект и осознать как прошивать данный девайс.

Т.к. ARM компиляторы сейчас наиболее широко развиваются и вообще это самая живая платформа (больше всего производителей, широкий набор периферии), то opensource тоже на подъёме и можно программировать под linux без пробщем.
Нужно будет:
- openocd для прошивки и дебага
- gcc с сайта linaro
- при необходимости настроить Eclipse для auto-completion, дебагера и прошивки в одну кнопку

ihanick ()

Начни с двоичной логики.

drSchur ★★★ ()
Ответ на: комментарий от Oghma

Дружище, обучаться надо было раньше, ты явно выбрал не ту специальность. А то вот взять контроллер и запилить на нем вундервафлю, это тенденция такая? Нихрена не понимая в электронике, бежать программировать МК. Электротехнику и электронику подтяни, пособирай пинцетом с паяльничком из вентилей мелочевку, потом будет быстро и приятно пилить девайсы на МК. А так твой путь, купить конструктор, скопипастить код, разбавив несложной логигой, бегать будет, но кому оно надо?

anonymous ()
Ответ на: комментарий от Oghma

Да. Очень раздутые зарплаты, жду когда лопнет.

anonymous ()
Ответ на: комментарий от Oghma

Если бы ты написал не

Надо въехать

А хочу въехать, был бы другой разговор.

А так... создается ощущение что тебе это не интересно. Не полезут знания в голову при таком раскладе.

dvl36 ()
Ответ на: комментарий от dvl36

Обожаю интернет-гадалок. Более бабской фразы, в духе «Ты сказал так, а создаётся впечатление, что оно и не так», не придумаешь.

Ладно, чисто гипотетически, какой бы был разговор, если бы я написал «Друзья! Я так проникся микроконтроллерами! Они мне так нравятся, эти маленькие забавные штучки! Я понял, что не могу без них жить! К сожалению, я не понимаю как ими пользоваться, но так хочется! Помогите устранить этот пробел»?

Oghma ()
Ответ на: комментарий от Oghma

Тебе бы больше понравилось что-то типа:

«Тупень, иди сначала научись программить на C, на писюке! Какой нахер ARM, тебе до него еще срать и срать!»

Да?

dvl36 ()
Ответ на: комментарий от dvl36

Из одной крайности в другую. Ты случайно не из тех турникменов, которые «Ты или бухаешь колешься нюхаешь кокс, или на турниках»? Тут до тебя нормальные вещи посоветовали не выёживаясь. Зачем было писать бабское нытьё «О, ты не так написал, а вот если бы иначе написал...»

Книг по электронике уйма. Хоровиц, Агарвал, Токхейм, Уилкинсон, здоровенная серия «Мир электроники» и много-много-много чего ещё. Тематика очень многих пересекается. И я попросил, чтобы знающие люди посоветовали книги, сложив их в цепочку, типа «По этой области лучше прочитать то, по этой то, а по этой того автора» и чтобы эта цепочка подводила к пониманию работы МК. По проге например таких статей куча, но в проге обычно больше «звёздных», проверенных книг.

Я доходчиво объяснил? Или опять где-то как-то не так, и если б я запятую в другом месте поставил, то ты бы мне помог, а так ни-ни? И мне именно нужно въехать в эти вещи по разным причинам - по работе, для интереса, для общего развития. Или человеку, который скажет «Мне нужно вызвать скорую!» ты тоже скажешь «Э нет, парень, если бы ты сказал, что хочешь чтобы вызвали скорую, это одно, а так ничего не получится»?

Oghma ()

а задача у тебя какая?

В общем, мне нужна прочная база чтобы нормально читать специализированные справочники по микроконтроллерам.

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

aiqu6Ait ★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.