Страница 1 из 40
Кто сам изучил програмирование мк?
Добавлено: Пт янв 10, 2014 14:12:09
sajkel
Вот снова решил занятья микроконтроллерами. И начали меня терзать смутные сомнения а есть ли в этом смысл. Конечно сделать моргалку какую нибудь не проблема но нафиг она нужна. Хоть и на ее нужно потратить не мало времени чтобы начать чего то понимать. Ну да ладно время уже потрачено. Но вот встал вопрос чего я смогу добиться. Смогу ли я например сделать какой нибудь термостат или еще чего полезного из автоматики. Сразу предвижу ответы типа: каждый решает сам и так далее. Поэтому вопрос мой следующий. Есть ли на форуме люди которые сами изучили программирование микроконтроллеров и каких вершин при этом достигли?
Re: Кто сам изучил програмирование мк?
Добавлено: Пт янв 10, 2014 14:24:48
Psych
sajkel писал(а): Есть ли на форуме люди которые сами изучили программирование микроконтроллеров и каких вершин при этом достигли?
Да тут таких как грязи

Re: Кто сам изучил програмирование мк?
Добавлено: Пт янв 10, 2014 14:30:28
SmarTrunk
Это более чем возможно, литературы дофига. Качать, читать, пробовать.
МК сейчас приятные, не то что раньше, вроде, скажем, i8048 с УФ-стиранием.
Re: Кто сам изучил програмирование мк?
Добавлено: Пт янв 10, 2014 14:53:55
sajkel
Psych писал(а):sajkel писал(а): Есть ли на форуме люди которые сами изучили программирование микроконтроллеров и каких вершин при этом достигли?
Да тут таких как грязи

Давайте каждый будет говорить за себя
Re: Кто сам изучил програмирование мк?
Добавлено: Пт янв 10, 2014 15:04:48
Аlex
sajkel писал(а):каких вершин при этом достигли?
А в чём измерять вершины ?
ЗЫ: Смысл темы совершенно не понятен. Вы хотите, чтобы каждый Вам тут ответил, что он сам всему научился ? "Да таких тут как грязи" (C)

Для чего это всё ?
Re: Кто сам изучил програмирование мк?
Добавлено: Пт янв 10, 2014 15:16:55
menzoda
После института у меня был небольшой опыт программирования на Си и Джаве. Про МК ничего не знал, а с электроникой все общение ограничивалось нюханием в детстве вкусного запаха сосновой канифольки, когда папа что-то паял, ну ладно, еще вытаскивал моторчики из машинок и подключал к батарейке. Но после института почему-то захотелось заниматься именно микроконтроллерами, вот занимаюсь уже два года, полет нормальный. Если ты считаешь это "изучил сам" - то вот он я! Только спрашивать действительно лучше что-то конкретное, а не про вершины.
Re: Кто сам изучил програмирование мк?
Добавлено: Пт янв 10, 2014 15:35:12
sajkel
menzoda Спасибо за ответ.
Попробую конкретизировать свой вопрос.
1. Вы изучали программирование перед тем как заняться мк (я не говорю о школьном курсе)?
2. Вы пишете на си?
3. Вы можете написать с нуля программу скажем для простенького осциллографа с lcd дисплеем?
4. Были ли возле вас знакомые которые в этом хорошо разбирались и у которых можно было проконсультироваться?
5. Что вы использовали для того чтобы освоить мк?
6. Знали ли вы английский когда начинали?
7. Сколько вы этим занимаетесь?
Re: Кто сам изучил програмирование мк?
Добавлено: Пт янв 10, 2014 15:49:34
sajkel
Аlex писал(а):sajkel писал(а):каких вершин при этом достигли?
А в чём измерять вершины ?
ЗЫ: Смысл темы совершенно не понятен. Вы хотите, чтобы каждый Вам тут ответил, что он сам всему научился ? "Да таких тут как грязи" (C)

Для чего это всё ?
Все это для того чтобы оценить свои возможности? Ведь одно дело когда человек в институте учился на программиста и решил заниматься мк. А другое дело когда ты не знаешь ни си ни английского и блок схемы последний раз сочинял в школе. А из знакомых программистов у тебя только учитель информатики ). Может с таким стартовым капиталом у тебя пойдет пять лет на то чтобы написать осмысленную прогу для простого вольтметра? Тогда нужно умерить запал чтобы не было жаль за бесцельно прожитые годы.
Re: Кто сам изучил програмирование мк?
Добавлено: Пт янв 10, 2014 15:52:56
BOB51
sajkel писал(а):menzoda Спасибо за ответ.
Попробую конкретизировать свой вопрос.
1. Вы изучали программирование перед тем как заняться мк (я не говорю о школьном курсе)?
2. Вы пишете на си?
3. Вы можете написать с нуля программу скажем для простенького осциллографа с lcd дисплеем?
4. Были ли возле вас знакомые которые в этом хорошо разбирались и у которых можно было проконсультироваться?
5. Что вы использовали для того чтобы освоить мк?
6. Знали ли вы английский когда начинали?
7. Сколько вы этим занимаетесь?
1. В наше время это вообще не изучалось
2. Исключительно ассемблер (I8080/85, Z80, MCS51, ATmega/tiny, PIC10/12/16/18)
3. Контрвопрос - а сделать такую конструкцию на "стандартной" элементной базе для начала?
4. При начале - исключительно самообразование.
5. Литература + полное создание аппаратной базы "с нуля" (средства отладки и программирования)
6. Со словариком английский, но схемотехнику приходилось читать на польском, чешском, венгерском, немецком и во всех вариантах принятых/действующих в мире стандартов начертания схем.
7. Примерно с 1980...

Re: Кто сам изучил програмирование мк?
Добавлено: Пт янв 10, 2014 16:00:59
menzoda
1. Изучал в институте. Больше всего пригодились общие курсы по программированию на Си. Но все-равно, несравненно больший объем информации получил самостоятельно, читая всякие книжки да статьи.
2. Да, микроконтроллеры в основном на Си, иногда на Си++. А так, зная один язык выучить другой не составляет труда (за исключением более экзотических языков). Так что я пишу небольшие настольные приложения на Си#, на Джаве тоже можно.
3. Да, для действительного простенького осциллографа вполне. Вот если он уже будет не простенький, то там пойдут всякие ПЛИС и другая сложная электроника. С ними я не сталкивался, поэтому пришлось бы это все изучать. Насколько бы это было сложно я не знаю.
4. Нет, вот чего чего, а такие знакомые напрочь отсутствуют. К сожалению.
5. Не знаю конечно, но мне помогла одна книжка. До нее я понятия не имел что такое МК, да и вообще любое вычислительное устройство. Как он там выполняет команды? Как он там складывает? Как это вообще все работает!? Книжка помогла осознать, что там не все так сложно, она помогла сделать первые шаги к базовым знаниям по вычислительным устройствам. Называется "Код. Тайный язык информатики", автор Чарльз Петцольд.
Повторюсь, в ней находятся базовые знания. Как мигать светодиодом на АВР там не написано, а вот как процессорное устройство выполняет команды - да. Дальше уже пошла более конкретная литературы. Была какая-то книжка по программированию МК семейства LPC2000 (это ARM). Она была на русском, что было очень полезно для новичка.
Ну а потом все. Берешь любой МК и читаешь к нему даташит - там есть ответы на 99.99% возникающих вопросов. В том числе на большинство вопросов, которые задают люди на этом форуме.
6. Был в школе и институте английский. Мог что-то прочитать, что-то сказать. В общем, окажись я в англоговорящей стране не помер бы, однако даташиты поначалу читать было сложно - технический язык и все такое, но что поделать? Брал словарик и переводил, если надо смотрел определение этого термина на русском. Сейчас все легко читается.
7. Занимаюсь ровно два года.
Re: Кто сам изучил програмирование мк?
Добавлено: Сб янв 11, 2014 14:41:35
YS
1. Вы изучали программирование перед тем как заняться мк (я не говорю о школьном курсе)?
2. Вы пишете на си?
3. Вы можете написать с нуля программу скажем для простенького осциллографа с lcd дисплеем?
4. Были ли возле вас знакомые которые в этом хорошо разбирались и у которых можно было проконсультироваться?
5. Что вы использовали для того чтобы освоить мк?
6. Знали ли вы английский когда начинали?
7. Сколько вы этим занимаетесь?
1. Изучал. Причем именно в школе проходил Pascal и С (правда, я учился в физ-мат лицее). Но не просто изучал, а всерьез увлекался - проводил ночи за ковырянием Паскаля (а потом и С), писал кучу всяких мелких экспериментальных прог просто ради интереса. Одно время даже думал, а не податься ли вообще в программирование, но понял, что прикладное программирование (которое больше математика) - это не мое.
2. Да, пишу. И очень люблю этот язык. Но при случае не гнушаюсь и ассемблера. Вообще, главное научиться декомпозиции задач и алгоритмизации, а также понять выбранную парадигму программирования (в случае со встроенными системами - процедурная/структурная парадигма). А дальше можно писать на любом языке в рамках выбранной парадигмы, изучив синтаксис за вечер.
Еще раз, не надо "изучать С (Паскаль, Ассемблер, Lua, какой_то_еще_язык)". Надо учиться разбирать задачу на подзадачи и алгоритмизовать ее в рамках структурной парадигмы. А синтаксис того же С изучается за вечер.
3. Да.
4. Конкретно по МК - нет. Начинал со здешней обучалки, потом ушел в свободное плавание по документации.
5. Интернет. Все, что находил по тематике, кучу всего. Разумеется, документацию в первую очередь. Первый программатор был "пять проводков", первый контроллер - AT90S8515. Втыкал в макетку и экспериментировал, экспериментировал, экспериментировал... Сначала для МК писал на ассемблере, потом перешел на С.
6. Да. И сильно подтянул его в процессе.
В наши дни начинать заниматься электроникой, не зная английского (и не желая его изучать), - просто бессмысленно. Переводы той же документации в 99% случаев ужасны, большая часть самых толковых статей тоже на английском и вряд-ли когда-то будет переведена. Мировое общение профессионалов и любителей - тоже на английском. Английский для электроники - как латынь для медицины.
7. Конкретно контроллерами, от самого первого прошитого - на данный момент около шести лет. Электроникой увлекаюсь сколько себя помню.
Re: Кто сам изучил програмирование мк?
Добавлено: Сб янв 11, 2014 16:08:36
saharesp
А вот я решил впервые заняться микроконтроллерами. Желание появилось, когда я увидел на Ютубе магический куб 8х8х8 более года назад и захотел сделать такой же. Но оказалось, чтобы заниматься этим делом нужна элементарная материальная база, созданием которой сейчас и занимаюсь. Теперь я знаю, что с МК можно построить и много полезных и интересных устройств. И я уверен, что у меня все получится, хоть и не так быстро, как хочется. Но так как для меня это хобби, время на это потратить не жалко. И на этом форуме я для того, чтобы посмотреть как делают люди и у кого можно спросить. С программированием, английским и электроникой я разберусь, добрые люди помогут. Потому что всем этим интересовался и занимался понемногу. А знакомых таких нет, кто с программированием МК связан, даже возможно нет таких в моем городе. Но для этого есть интернет. И при этом мне почти 50. Посмотрим, можно ли начать заниматься МК с 50 лет.
Re: Кто сам изучил програмирование мк?
Добавлено: Сб янв 11, 2014 16:31:50
YS
А вот я решил впервые заняться микроконтроллерами.
В наших рядах прибывает!
Желание появилось, когда я увидел на Ютубе магический куб 8х8х8 более года назад и захотел сделать такой же.
Когда я вел кружок, мы такой делали.

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

Но было весело.
А знакомых таких нет, кто с программированием МК связан, даже возможно нет таких в моем городе.
Это не так страшно.

Я тоже с чистого поля начинал.
Посмотрим, можно ли начать заниматься МК с 50 лет.
А чего нельзя-то?

Можно, конечно.

Re: Кто сам изучил програмирование мк?
Добавлено: Сб янв 11, 2014 17:48:44
metan
sajkel писал(а):Может с таким стартовым капиталом у тебя пойдет пять лет на то чтобы написать осмысленную прогу для простого вольтметра?
Никто на этот вопрос вам ответить не сможет, это зависит только от того, чего и насколько сильно вы хотите. Ну и от способностей ваших конечно, скорость обучения тоже зависит. Но в эпоху интернета и полной доступности как информации так и железа, все стало гораздо проще, чем в 80-е годы.
Наверное, не только мне в жизни попадались отличные Специалисты в области МК, которые все изучили сами; и "специалисты" - выпускники спецвузов, которые на этом сайте имеют по одному сообщению, в котором просят сделать за них задание.
А так, времени у меня например, суммарно, ушло довольно много (я инженер-механик по образованию и в вузе нам ничего в то время не давали). И я, наверное, как и многие здесь, нисколько не жалею о затраченном (не потраченном, а затраченном

) времени.
Если вам нравится что-то изучать и радоваться самому процессу и своим достижениям, то какая разница, сколько лет на это уйдёт? А если не нравится, то и смысла нету, сейчас купить например, недорогой осциллограф или термостат не проблема.
Прочитайте еще разок пост
saharesp, он там все очень хорошо написал.
Удачи!
Re: Кто сам изучил програмирование мк?
Добавлено: Сб янв 11, 2014 19:03:05
BOB51
Если речь про творчество для себя - однозначно "за" в любое время, если начинать с желанием "переплюнуть" промышленные образцы техники - на теперишние времена - однозначно "ОБЛОМ" - там соревноваться сейчас только олигархопенсик может или коллектив какой-нить фирмочки а-ля осколково с серъёзной начальной подготовкой...

Тот же обломус будет если ставить целью "гонки за модой" - затраты колосальные, а результаты... ...
А именно ОБЛОМЫ при начально поставленных сверхзадачах ломают всякий интерес у начинающих (и не только).
Поглянь подход считающих мани к проблемам постановки задачи и ее реализации от замысла до результата с учетом необходимых ресурсов и технической подготовки персонала от производства до сопровождения изделия в эксплуатации:
https://sunduk.radiokot.ru/loadfile/?load_id=1369493027Затем оцени возможности и не ставь сверхзадач на начальном этапе!

Re: Кто сам изучил програмирование мк?
Добавлено: Сб янв 11, 2014 19:32:19
Kavka
Сверхзадачи не нужны, это да. Но не поставив задачи, так сказать, на развитие, тоже мало чему научишься. Когда я начинал осваивать МК в лице меги16, лет 5 назад, мигать диодом быстро надоело. И посмотрев на бутлоадер по STK500v2 написанный на Си решил написать оный на асме. Да, было потрачено много вечеров за чтением документации (английский в школе был на 3-ку). Но через месяцок с небольшим уже был рабочий код. И это был первый проект на МК. Сейчас у меня электроника это увлечение. Но бывает, что приглашают что-нибудь серьёзное сваять. Например делал цифровую часть прототипа измерителя высоты нижней границы облачности на основе импульсного лазера - ПЛИС, МК, 4-х слойная печатка и т.п. Не сильно заморачиваясь получилось измерять с точностью до метра (такой точности, правда, не требовалось

). Хотя инженерного образования по электронике не имею. Так что всё зависит от желания, желания развиваться, желания узнавать новое. Как это не банально звучит, но для увлечения, хобби, это имеет большое значение. Если оно, желание, есть, то научиться можно всему что потребуется.
Удачи.
Re: Кто сам изучил програмирование мк?
Добавлено: Вс янв 12, 2014 11:07:52
BCluster
В детстве ходил в комп. кружок, писали на бейсике паскале и си

Но это уже было очень давно. Но, в принципе всю жизнь с компами, и практически полное самообразование. В/о не имею. Вполне успешно программирую, и не для себя, а на работе

Re: Кто сам изучил програмирование мк?
Добавлено: Вс янв 12, 2014 14:05:28
Леонид Иванович
sajkel писал(а):Но вот встал вопрос, чего я смогу добиться.
Добиться можно многого. Но для каждого одни и те же достижения даются разной ценой. Для человека умного освоение микроконтроллера - дело пары недель. Для человека глупого то же самое может растянуться на годы. Начиная дело, очень важно правильно оценивать уровень собственной тупости, чтобы потом не быть разочарованным результатом.
Re: Кто сам изучил програмирование мк?
Добавлено: Вс янв 12, 2014 15:32:20
GARMIN
Леонид Иванович писал(а):Добиться можно многого. Но для каждого одни и те же достижения даются разной ценой. Для человека умного освоение микроконтроллера - дело пары недель. Для человека глупого то же самое может растянуться на годы. .
А я не согласен. Дорогу осилит идущий. Неважно, сколько времени ты потратил, важно, чего добился и куда идёшь.
Ленивый гений в подмётки не годится трудолюбивому середнячку.
Re: Кто сам изучил програмирование мк?
Добавлено: Вс янв 12, 2014 15:58:37
YS
Для человека умного освоение микроконтроллера - дело пары недель. Для человека глупого то же самое может растянуться на годы.
Ленивый гений в подмётки не годится трудолюбивому середнячку.
Спорные утверждения.
По первому - тут дело не только и не столько в уме, сколько в начальной базе. Ардуино, к слову, вообще осваивается конченным гуманитарием за час. Но если говорить о чем-то более серьезном, то что такое "программирование МК"? Это 70% схемотехники и 30% программирования. Если к моменту освоения МК человек уже умел прилично программировать и хорошо знал схемотехнику - то да, пара недель (а то и дней). Ну и потом еще пара месяцев отлавливания на практике некоторых неочевидных с первого взгляда граблей. А вот если человеку требуется поднимать что-то из этого (или, даже хуже, обе области) с нуля, то тут может уйти пара лет, пока он достигнет приличного уровня.
По второму - "ленивый гений" за день может по факту решить на на три порядка больше проблем, чем сто "трудолюбивых середнячков" за год. Проблема всех "трудолюбивых середнячков" в том, что они не способны
рождать идеи и решения (собственно, это и есть основная черта "середнячка"); они могут максимум по известным методикам адаптировать существующее. Нужны, в общем, и те, и те. "Ленивый гений" за час рождает идею, потом до конца для растолковывает ее "трудолюбивым середнячкам", после чего те еще год воплощают ее в жизнь.

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