Свежие обсуждения
Прочее

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

1 2 17

aleksandr_zh: как им рассказать о командах, переменных, типах переменных...

О всём сразу не расскажешь, да и не нужно "засыпать" информацией с ходу. Начать лучше, ИМХО, с подачи структуры программы, а потом уже развёртывать её по пунктам. Типа "...вот существуют такие ИМС - МК, одно из преимуществ которых перед логическими ИМС - работа по заданной программе. Программа, в общем случае, имеет вид..." и т.п.

 

для Digital
*К aleksandr_zh: судя по сайту из вашего профиля непонятно почему у вас такой вопрос возник вообще.*
понимаете, как бы это красиво и внятно сказать: Мне проще сделать, чем объяснить работу МК
Не так сказал, я программирую давно, уже лет 17 точно. Начинал с БК и Спектрум
написать программу я могу, но как _Объяснить_ КАК я составил алгоритм (в голове), почему так, а не этак...

*да и не нужно "засыпать" информацией с ходу*
Вы правы. У меня (и у приглашенных преподавателей) аналогичная проблема: как рассортировать информацию по значимости и
как ее приподнести в контексте

Digital! Благодарю Вас за конкретику в Ваших ответах

Для Baloo
я это сайт знаю, я там тоже задал этот же ответ. К сожалению, конкретики там не получил, сразу активизировался Автор нашумевшего и доставшего сайта "123"

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

 

Вот у меня задача подобная - всю жизнь был электронщиком, ну чуть писал под МК на ассемблере, а теперь нужно переходить на C++ причем под *nix (библиотека QT)

 

Wladimir_TS: всю жизнь был электронщиком, ну чуть писал под МК на ассемблере, а теперь нужно переходить

В твоём то возрасте "плакаться" ....всю жизнь.....
Йех..

 

А.В. Фрунзе "Микроконтроллеры? Это же просто!"
4х томник.
Сам пока не прочел, но по анотации я предпологаю, что как раз подойдет.
Советую так же взять что нить типа "С для чайников"
изучив С, можно переходить на С++ или Visual C.

Вот именно по такому плану я собираюсь переучиваться.

ПС: сам в 80е программировал на Бэйсике, вроде после бэйсика "С" всасывается легче.

 

aleksandr_zh: написать программу я могу, но как _Объяснить_ КАК я составил алгоритм (в голове), почему так, а не этак...

Насчёт алгоритмов... Например, занятие по работе с кнопками/клавиатурой. Достаточно, ИМХО, при обучении дать пару несложных стандартных алгоритмов работы с кнопками (или в псевдоалгоритмическом виде: типа "Проверка на дребезг-Реакция на нажатие-Ожидание освобождения кнопки") работы с кнопками, понятие синхронного/асинхронного опроса, схему принципиальную для каждого каждого случая начертить.

Перед этим занятием должно пройти занятие по изучению портов МК (регистры управления портом(-ми), подтягивающие резисторы (для чего нужны бывают).

Также, мне кажется, для начала необходимо дать понятие битовых (поразрядных) операций при управлении портами, т.к. например с обработкой кнопок эта тема будет тесно пересекаться.

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

Т.е. например сделать краткий курс и расширенный.

Для краткого:

Теория программирования:
занятие 1 - Логические операции. Примеры применения.
...
занятие 2 - Битовые (поразрядные) операции. Примеры применения.
...
...просто числа поскладывать/поумножать и т.п., что сами придумаете.
занятие 3 - алгоритмы (кратко).
...

Изучение устройства и периферии МК:
занятие 1 - Порты МК. Устройство и регистры управления.
...
занятие 2 - Таймеры МК. Устройство, виды таймеров и их особенности.
...
занятие 3 - хоть про USART модуль.
...

Практика:
Введение - Порядок разработки устройств с применением МК
занятие 1 - Алгоритмы обработки кнопок (типа как выше написал подать материал). Тут и обработкой позаниматься без таймера и по таймеру; отдельных кнопок, не затрагивая остальные. Про матрицу кнопок дать понятие.
...
занятие 2 - Построение алгоритма для реле времени или с ШИМ замутить что-то. Вот и про таймеры.
...
занятие 3 - ...

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

И всего делов то. На полгода вполне реально рассчитывать. И на форуме народ пусть регится

 

Digital: К aleksandr_zh: судя по сайту из вашего профиля непонятно почему у вас такой вопрос возник вообще.

Учились же люди в 192XX году читать....

 

Я же предложил бы начать с СИ. Язык довольно простой и понятный, AVR микроконтроллеры оптимизированы под этот язык. Воспользуйтесь CodeVisionAVR, там есть мастер шаблона проекта. Посмотрите сайт avr123-nm-ru и iopa4.narod.ru. На этих сайтах вы найдете простые примеры с подробным описанием. На последнем сайте есть видеоурок по Proteus. Замечательная вещь Proteus. Это своего рода отладчик без пайки самой схемы. Вы ее собираете виртуально, пишите программу и сразу смотрите как она выполняется. Множество виртуальных измерительных приборов: осциллограф, мультиметры, генераторы и т.д. и т.п. На сайте kazus.ru найдете эту программу в разделе "Лекарство для Proteus". Есть интересное устройство - "Arduino Duemilanove". Вы пишите программу на языке практически таком же, как СИ и сразу же проверяете результат работы на этом устройстве. Есть примеры типа "Hellow World". После того, как вы помигаете светодиодом на портах, можно дописать, что-то свое и протестировать написанное. Здесь описание на русском языке: habrahabr.ru/blogs/arduino/42740/

 

Для Digital и проч. графоманов:
"Наш редактор умеет ужать статью до трёх строк. И даже до трёх ...букв." (с)

 

arduino - не вижу смысла для серезного применения при производстве
avr123 - не рекламировать

си - согласен, думаю оптимально для системщиков