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

Здесь принимаются все самые невообразимые вопросы... Главное - не стесняйтесь. Поверьте, у нас поначалу вопросы были еще глупее :)
Аватара пользователя
ikarab
Опытный кот
Сообщения: 828
Зарегистрирован: Пн мар 16, 2009 21:40:57
Контактная информация:

Re: как переучить электронщика в программисты?

Сообщение ikarab »

aleksandr-zh писал(а): Всё, что я нашел в сети и в продаже, написано как раз для тех, кто владеет программированием, но не владеет электроникой. Т.е., всё как раз наоборот.
Рекомендую краткий курс AVR для начинающих с нуля - http://kazus.ru/forum/topics/f_94443.html#94443
там в начале как раз самые первые шаги по устройству AVR и программированию.

Но для дальнейшего "проф применения" желательно ОЧНОГО преподавателя иметь.
aleksandr-zh
Сверлит текстолит когтями
Сообщения: 1278
Зарегистрирован: Пн июн 18, 2007 21:51:20

Re: как переучить электронщика в программисты?

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

таки проблема как раз таки, КАК написать, а не как проверить... :)
проверить они могут - эта прога есть, и других - куча :)

как им рассказать о командах, переменных, типах переменных... И почему именно МК, а не ПЛИС? (в них я ноль)

блин, не подумал раньше. А может и в заправду, может им проще будет перейти на ПЛИС? там как раз из "деталек" ячейки делают...
Хотя там микросхемы не в ДИП, домане поковыряешься (это я про себя)

в данном случае, вообще всё равно, про какое программирование говорить: для МК или для "большого" ПК

Главное, чтобы столкнуть всё это с места, и дать минимальный уровень
А то преподы, откликнувшиеся на это мутное дело, через пару дней убегали: они тоже учили "как в книжках". Их не понимали, задавали кучу вопросов, преподы таяли как мираж )
Последний раз редактировалось aleksandr-zh Вс май 10, 2009 22:37:33, всего редактировалось 1 раз.
Аватара пользователя
dosikus
Друг Кота
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

Re: как переучить электронщика в программисты?

Сообщение dosikus »

aleksandr-zh писал(а):
Я скачал Liberty Basic, это что-то похожее на QBasic, но уже под Windows. (им может понадобиться написать простую «оболочку» под их железо).
Словом, всё в кучи и всё сразу

Заранее благодарен за пинки в нужную сторону :)


Это намного лучше :
http://pbasic.spb.ru/phpBB2/index.php
И обратись к PB_EXPERT
он спец по PURE basic в плане программ связок PC <> MK.
aleksandr-zh
Сверлит текстолит когтями
Сообщения: 1278
Зарегистрирован: Пн июн 18, 2007 21:51:20

Re: как переучить электронщика в программисты?

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

dosikus писал(а):Это намного лучше :
http://pbasic.spb.ru/phpBB2/index.php
И обратись к PB_EXPERT
он спец по PURE basic в плане программ связок PC <> MK.

пренизко благодарен
буду рыть :)

а в плане КАК преподнести информацию?

думаю, что самое простое и реальное начинать с алгоритмов,
потом на компе пусть попишут: циклы, условия там всякие...
а потом на LPT или COM пусть ножками "подергают", кнопочки поопрашивают.
Это понагляднее, чем в самом МК отлаживать программу
Аватара пользователя
dosikus
Друг Кота
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

Сообщение dosikus »

Советую посмотреть в сторону протеуса .
Как учебное пособие . Есть возможность изнутри взглянуть на микроконтроллер . Опять же отладка программ .Богатая перефирия .
http://kazus.ru/forum/topics/12366.html
Так же приобрести pikkit2 с отладочной платой пока акция не кончилась :
http://pickit2.ru/doku.php/offer
И начать с изучения С . Не так уж это и сложно .
http://lib.ru/CTOTOR/starterkit.txt
Для более глубокого - Керниган и Ричи.
Ну и параллельно изучать асм.
Крайне рекомендую для пик, презентации микрочипа
http://wiki.pic24.ru/doku.php/doc/mchp_ppt/intro .
В сети так же куча литературы - но это практически все
перевод даташитов.
Рекомендую для пик
PIC микроконтроллеры. Все что вам необходимо знать (Сид Катцен, 2008)
http://netzor.org/books/24866-pic-mikro ... odimo.html.
Так же книги М.Предко.
Это для пик . Для AVR подскажут без меня.

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

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

dosikus писал(а):Советую посмотреть в сторону протеуса.


я ЛИЧНО большой противник Симуляторов - очень часто там всё работает, а в железе - фиг! что-нибудь забыл активировать/деактивировать в фузах...
Хотя смысл имеет. Спасибо!

dosikus писал(а):Так же приобрести pikkit2 с отладочной платой пока акция не кончилась

о! шикарно!
щас как закажу им 10 штук :) ...

dosikus писал(а):И начать с изучения С . Не так уж это и сложно


ну, я в нем ноль без палочки. Пробовал еще во времена Спектрумов освоить, но потом плюнул - убивает меня их синтаксис со скобочками ( как и в Паскале ";")
а ссылочка - отличная! точно и конкретно.

dosikus писал(а):В сети так же куча литературы - но это практически все перевод даташитов.

ой! "наши" книги - вообще слезы :(
украл, кое как перевёл - издал... Ну, от силы, пару примеров с лампочками и музыкальными пищалками...

dosikus писал(а):И крайне не рекомендую заниматься только пик или только AVR. Надо изучать и те и другие. Сравнивая и находя лучшие стороны.

Да, в этом Ваш совет - уникален: обычно ругают одно, хвалят - другое :) Я бы вообще поставил их обучение без опоры на какой-либо МК (серию)
Сам начинал с PIC (других в наших магазинах не было). Пришол работать в одну контору, а там всё на AVR. Пришлось переучиваться... Не жалею
но я не проф, ничего серьезного я не творил ни на PIC, не на AVR

За советы огромное СПАСИБО!
Аватара пользователя
dosikus
Друг Кота
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

Сообщение dosikus »

На счет протеуса - это интструмент и достаточно мощный и как любым инструментом им надо уметь пользоваться .
Надо знать как сильные стороны так и слабости .
Естественно это симулятор и не надо слепо доверять - отличная практика отладка частей программы ( например работы с какой либо перефирией как внутренней так и внешней) в симуляторе и параллельно в железе.

Не надо боятся С , возьмете мозговым штурмом .
Есть много примеров успешного освоения как на этом форуме , так и казусе и на микрочип .
Люди так же ничего не знали .
Но так же как и с протеусом не стоит зацикливатся на одном .
Отличная практика - написание одних и тех же небольших программ ( процедур) на разных языках . Сразу будут видны и сильные и слабые стороны.
Надо уметь пользоватся всем - хоть постепенно и нет скоро - зато сможете самостоятельно разрабатывать устройства.

Не слушайте приверженцев HollyWare , у обоих есть как и слабые так и сильные стороны и те и другие стоит изучать
и использовать . А не вести борьбу с ними - как делают в небезизвсестном курсе(
это не про а в р 1 2 3, не знаю чем он вам не приглянулся
иногда дает неплохую инфу - единственное что у него там свалка).

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



Так же милости прошу сюда :
http://kazus.ru/forum/2/index.html
Аватара пользователя
dosikus
Друг Кота
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

Сообщение dosikus »

Компиляторы советую выбирать те что имеют открытые библиотеки . Для PIC - HI tech , CCS PICC.
Последний имеет достаточно развитую поддержку Микрочипа и весьма недурственный форум : http://www.ccsinfo.com/forum/ .
Обновления регулярны , текущая "рабочая" версия 4.088.

И ИМХО не стоит подсаживатся на бэйсики для МК.
Если в случае с PC это облегчает жизнь , (хотя PURE_BASIC к таким не относится - достаточно гибкий инструмент -позволяет работать с любыми библиотеками в том числе и Win API).
Для МК это зло - вы не видите что делает закрытая процедура и не сможете ее модифицировать на свой вкус.
aleksandr-zh
Сверлит текстолит когтями
Сообщения: 1278
Зарегистрирован: Пн июн 18, 2007 21:51:20

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

dosikus писал(а): А не вести борьбу с ними - как делают в небезизвсестном курсе (
это не про а в р 1 2 3, не знаю чем он вам не приглянулся
иногда дает неплохую инфу - единственное что у него там свалка).

да я и не веду
просто не приятно мне его метод передачи мыслей :) - "всё и в кучу"
dosikus писал(а):Так же милости прошу сюда :
http://kazus.ru/forum/2/index.html

благодарю за приглашения
Давненько я там не был
Аватара пользователя
бгкот
Мучитель микросхем
Сообщения: 450
Зарегистрирован: Пт фев 20, 2009 21:45:04
Откуда: Болгария
Контактная информация:

Сообщение бгкот »

dosikus писал(а):Для МК это зло - вы не видите что делает закрытая процедура и не сможете ее модифицировать на свой вкус.

В PicBasicPro, желание модифицировать процедуры может возникнуть только у того,
кто в программировании ни черта не понимает. 8)
©"Good indian is dead one!"
Аватара пользователя
dosikus
Друг Кота
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

Сообщение dosikus »

бгкот писал(а):
dosikus писал(а):Для МК это зло - вы не видите что делает закрытая процедура и не сможете ее модифицировать на свой вкус.

В PicBasicPro, желание модифицировать процедуры может возникнуть только у того,
кто в программировании ни черта не понимает. 8)


Речь о закрытых встроенных процедурах/функциях.
И кроме PBP есть и другие .
И не менять так хоть увидеть как они реализованы - бывает необходимо для начинающих.
А бросатся таким -"кто в программировании ни черта не понимает" . Видно ни разу не видел как компиляторы оптимизируют код до маразма...
Аватара пользователя
бгкот
Мучитель микросхем
Сообщения: 450
Зарегистрирован: Пт фев 20, 2009 21:45:04
Откуда: Болгария
Контактная информация:

Сообщение бгкот »

dosikus писал(а):А бросатся таким -"кто в программировании ни черта не понимает"

Не корректно делать обобщения типа: "Для МК это зло..."
Интересно, как Вы себе представляете "модификацию" процедур PBP, таких как,
например, POT, LCDIN/OUT, USBIN/OUT/INIT, PULSIN/OUT, READ/WRITE...
Перечислять еще, или сами справку наведете? :)
©"Good indian is dead one!"
Аватара пользователя
dosikus
Друг Кота
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

Сообщение dosikus »

бгкот писал(а):
dosikus писал(а):А бросатся таким -"кто в программировании ни черта не понимает"

Не корректно делать обобщения типа: "Для МК это зло..."
Интересно, как Вы себе представляете "модификацию" процедур PBP, таких как,
например, POT, LCDIN/OUT, USBIN/OUT/INIT, PULSIN/OUT, READ/WRITE...
Перечислять еще, или сами справку наведете? :)


Ну наконец то дошло - об этом я и говорю , пользователь не видит как реализованы встроенные процедуры. И не модифицировать, так хотя бы понимать работу на низком уровне необходимо.
Прежде чем пользоватся например железным SPI , реализовать то же программно. И понять работу . То же самое и с LCD и UART. Или же Вы будете доказывать , что это лишнее?
Юзать только встроееные процедуры/функции не понимая их механизма - вот это и есть зло, отупляющее юзверя.
На счет модификации- Вы пытаетесь меня убедить , что PBP создает совершенный код ? Ну ну ... Оставайтесь при своем мнении - не буду переубеждать. Счастливый, однако...
aleksandr-zh
Сверлит текстолит когтями
Сообщения: 1278
Зарегистрирован: Пн июн 18, 2007 21:51:20

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

dosikus писал(а):Прежде чем пользоватся например железным SPI , реализовать то же программно. И понять работу . То же самое и с LCD и UART. Или же Вы будете доказывать , что это лишнее?

НУ, с целью Обучения - согласен
но для работы - Зачем??
я использую МК для Решения Своих Задач
А не для того, чтобы "подергать" ножками в определенной последовательности (для реализации протоколо обмена)
я и знать не знаю, что там и как передается по шинам при работе LCD, но он прекрасно отобразил Hello world! :)

dosikus писал(а):Юзать только встроееные процедуры/функции не понимая их механизма - вот это и есть зло, отупляющее юзверя.

Господа, господа! давайте конкретно! а то скатываемся до уровня "это мое мнение"
Для того чтобы понимать всю суть - согласен. Обязательно нужно показать работу с периферией в развернутом виде, но только для примера!
я использую HDD, но не заморачиваюсь по поводу скорости вращения дисков в нем :)

dosikus писал(а):На счет модификации- Вы пытаетесь меня убедить , что PBP создает совершенный код ? Ну ну ... Оставайтесь при своем мнении - не буду переубеждать. Счастливый, однако...

для домашний поделок и при разработке не критичных к скорости/времени изделий использования "высоких языков" НА МОЙ ВЗГЛЯД обосновано - это увеличивает скорость разработки в целом
Вы же пользуетесь DOS или Windows/Linux/..., и САМИ не пишите ВСЕ команды в ассме напрямую ко всей периферии компьютера? или пишите ;)

Друзьям из Болгарии - пламенный привет!
когда то я учил болгарский. Но это было давно, всё уже позабыто
помню только ходовые фразы:
Добър ден. Как сте?
aleksandr-zh
Сверлит текстолит когтями
Сообщения: 1278
Зарегистрирован: Пн июн 18, 2007 21:51:20

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

бгкот писал(а):В PicBasicPro, желание модифицировать процедуры может возникнуть только у того, кто в программировании ни черта не понимает. 8)

я пользуюсь PicBasic около 5 лет, для реализации МОИХ целей его хватало- ни разу не писал на ассме, т.е, не правил полученный после компилятора код.

И давайте не будем спорить по поводу компактности и правильности кода, написанных ручками и компилятором.
Во-первых, и вы в ассме можете намутить столько (особенно новичок), что потом ваши вирши будут дооолго вычитывать :)
во-вторых, НА МОЙ ВЗГЛЯД, большие проекты, написанные на ассме, трудно понять другому. При использовании ЯВ с этим по-проще
Хотя можно и в этом случает такого наворотить :)

Язык/компилятор - это инструмент! его можно по разному использовать. А коль инструмент, то и использовать его нужно по назначению. Вы же не будете топором делать макраме, а скальпелем рубить дрова? :)

тема теряется в эмоциях и мнениях
Аватара пользователя
dosikus
Друг Кота
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

Сообщение dosikus »

Согласен - каждый по своему с ума сходит .
Поэтому я лишь высказал свое мнение и никому его не навязываю. :)))
aleksandr-zh
Составьте план работы - типа
урок первый нутро МК
урок второй комманды
и тд и тп.
Очень поможет.

Кстати или пропустил или Вы не сказали - каков контингент
обучаемых ( возраст , опыт работы с ПК , с МК) ?
aleksandr-zh
Сверлит текстолит когтями
Сообщения: 1278
Зарегистрирован: Пн июн 18, 2007 21:51:20

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

dosikus писал(а):aleksandr-zh
Составьте план работы

пытаюсь. но пока немогу составить хороший... мыслей много (а времени обдумать особо нет - другие дела имеются...)

dosikus писал(а):Кстати или пропустил или Вы не сказали - каков контингент обучаемых ( возраст , опыт работы с ПК , с МК) ?

тут написал http://radiokot.ru/forum/viewtopic.php?p=219300#219300
с мк - нини
с ПК - как пользователи своих программ
aleksandr-zh
Сверлит текстолит когтями
Сообщения: 1278
Зарегистрирован: Пн июн 18, 2007 21:51:20

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

для dosikus
я набросал план и тут мне подфартило:
мой приятель (хороший программист: Visual C, Дельфи, асмм) решил освоить работу с МК
я и решил на нем проверить методы обучения и подачи материала
ГОСПОДИ! он чуть не плакал :) два раза выбегал покурить - у него почти шок
когда я рассказывал про работу матричной клавиатуры, защиту от дребезга контактов, работу с битами и портами он слушал с круглыми глазами :)
в конце он сказал: я думал, что мне придется из прямоходячего положения и ходьбы (программирование на ЯВ) стать на корточки (низкий уровень, как в МК). Но оказалось, что мне придется лежать пластом, а чтобы приподняться придется управлять каждой мышцой самому и сознательно! :)
я понял его состояние и рассказал про "одномплатные ПК" типа ФРАКТАЛ и BASICStamp
это ему понравилось больше - "не нужно самому управлять транзисторами" (это его слова)
так что не так всё легко и в переучивании "высокоуровневых программистов"
надеюсь, что не имеющие опыта работы на ЯВ проще воспримут новое... :idea:
Аватара пользователя
SeregaT
Генеральный секретарь МЯУ
Сообщения: 18852
Зарегистрирован: Пн сен 03, 2007 18:24:27
Откуда: Россия. Омск.
Контактная информация:

Сообщение SeregaT »

Собрал своё первое устройство, которое будет использоваться в промышленном оборудовании. Это контроллер для управления аппаратом контактной сварки:
Изображение
Включение прижимного устройства и сварочного трансформатора выполняется с помощью двух 5 вольтовых релюшек (релюшки включают клапан прижима и тиристорный контактор).
Устройство мне нужно установить в понедельник. Ниже я выложил код, он вроде работает, но хотелось бы чтобы специалисты посмотрели, может пока не поздно можно как-то улучшить или оптимизировать?
Вложения
svarka.c
(7.46 КБ) 346 скачиваний
Аватара пользователя
Паятель
Модератор
Сообщения: 3174
Зарегистрирован: Пт июл 21, 2006 03:08:05
Откуда: Пенза

Сообщение Паятель »

А что ж на макетке-то? :)
Если долго мучиться, что-нибудь... сломается.
Ответить

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