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

Здесь принимаются все самые невообразимые вопросы... Главное - не стесняйтесь. Поверьте, у нас поначалу вопросы были еще глупее :)
Аватара пользователя
Maxim1441
Грызет канифоль
Сообщения: 270
Зарегистрирован: Пт апр 09, 2010 21:16:30
Откуда: Barnaul
Контактная информация:

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

Сообщение Maxim1441 »

O-LED писал(а):конденсаторы по питанию, это имеется ввиду керамический конденсатор подключенный между выводом + контроллера, и выводом -
Т.е. на "+" МК припаять одну ногу кондера, а к "-" МК - другую?

Мурик, а коллекторные выводы на МК и порт надо до резистора выводить или после? И еще: а какая полярностью включения диодов?
Аватара пользователя
O-LED
Мудрый кот
Сообщения: 1800
Зарегистрирован: Вт окт 05, 2010 01:08:57
Контактная информация:

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

Сообщение O-LED »

Т.е. на "+" МК припаять одну ногу кондера, а к "-" МК - другую?
да.
KIT
Аватара пользователя
radio-kot
Собутыльник Кота
Сообщения: 2584
Зарегистрирован: Вт сен 14, 2010 10:27:19

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

Сообщение radio-kot »

Maxim1441 писал(а): Кстати, вот нашел в прайсе моего колхозного магазина такие камни:
1) ATmega8A-AU 120,00 рэ
2) ATmega16-16PU 140,00 рэ

С какой лучше начать? Или же у них одинаковое устройство?


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

ATmega8A-AU 70 рублей
ATmega16A-PU 90 рублей
Будете проходить мимо- проходите!
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

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

Сообщение ARV »

Maxim1441 писал(а):Ага, и сразу - ушат помоев в свой адрес услышать. На dev-сайтах это равносильно тому, что запостить на радиокоте тему типа "Хочу УМЗЧ на 20Вт от Кроны" :))
А если, не дай Аллах, упомянуть где-нибудь про оператор GOTO :))
на нормальных dev-сайтах есть раздел для начинающих, где никого не поливают помоями. не лезьте к "взрослым дядям" - и вас не обидят :)
про GOTO вообще давно никто не говорит ничего, кроме "нежелательно, но допустимо в меру" - типа как водка :)
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Аватара пользователя
Maxim1441
Грызет канифоль
Сообщения: 270
Зарегистрирован: Пт апр 09, 2010 21:16:30
Откуда: Barnaul
Контактная информация:

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

Сообщение Maxim1441 »

radio-kot писал(а):Начните с нормального поставщика у которого

ATmega8A-AU 70 рублей
ATmega16A-PU 90 рублей

В нашей деревне таких нет. А заказывать по почте - это надо сразу десяток заказывать...
Аватара пользователя
radio-kot
Собутыльник Кота
Сообщения: 2584
Зарегистрирован: Вт сен 14, 2010 10:27:19

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

Сообщение radio-kot »

Maxim1441 писал(а):
radio-kot писал(а):Начните с нормального поставщика у которого
ATmega8A-AU 70 рублей
ATmega16A-PU 90 рублей

В нашей деревне таких нет. А заказывать по почте - это надо сразу десяток заказывать...


Дак вам же не только микроконтроллер нужен но и вокруг него что-то. Не спеша определитесь с набором. Есть отличный набор для начинающего с ATmega16A-PU с качественной платой с кучей деталек и недорогой. На нем все блоки AVR можно протестировать, прочувствовать.

ATmega16A-PU в DIP-40 посему конечно поудобней для начала.
Будете проходить мимо- проходите!
Аватара пользователя
O-LED
Мудрый кот
Сообщения: 1800
Зарегистрирован: Вт окт 05, 2010 01:08:57
Контактная информация:

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

Сообщение O-LED »

radio-kot а почему бы вам не попробовать "выпустить" максимально дешевый усб программатор. рублей за 200 можно даже без корпуса и даже не спаяный, но макс дешевый. я думаю 200руб отдаст каждый начинающий. а себестоимость например авр910
мега - 70
плата - 30
мелочь ~ 50
провода, разъмы найдут сами.
и вам 50(с учетом навара на деталях, я думаю рублей 80-90)
Вот это будет помощь, и доп реклама. а пока только негативные эмоции рождаете.
KIT
aleksandr-zh
Сверлит текстолит когтями
Сообщения: 1278
Зарегистрирован: Пн июн 18, 2007 21:51:20

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

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

radio-kot писал(а):ATmega8A-AU 70 рублей
ATmega16A-PU 90 рублей

ага
+ доставка скоко? :) рублей 120?
итого: 70+90+120 = 280

делим на два: 280/2 = 140

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

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

Сообщение dosikus »

aleksandr-zh писал(а):вывод: проще дома купить )


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

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

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

да и я закупаюсь везде
я покупал у Михаила, но то было давно, когда у него действительно было дешевле

я не против него, я против засирания форумов его саморекламой
Правду я говорю, Свой человек в Москве? :)
Аватара пользователя
O-LED
Мудрый кот
Сообщения: 1800
Зарегистрирован: Вт окт 05, 2010 01:08:57
Контактная информация:

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

Сообщение O-LED »

для начинающего, не имеющего "базы" очень тяжело собрать все воедино. а плата вообще проблема. за 300руб(с доставкой) ябы с удовольствием купил бы полный набор деталей для программатора.
Самосбор у начинающего получится не дешевле.
мой случай.
макетка - 75р
мега - 75р
кварц - 10
светики - 15р
панелька - 10р
провод, резисторы, колодки у меня были.
итого 185 руб и куча гемора сбора на макетке.
KIT
Аватара пользователя
DIHALT
Потрогал лапой паяльник
Сообщения: 387
Зарегистрирован: Пт сен 12, 2008 03:26:14
Контактная информация:

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

Сообщение DIHALT »

Наброшу ка и я пару ложек...

Во первых асм. Его знать надо для эффективности. Да, можно не зная ни одной ассемблерной мнемоники все сделать на Си-васике.
Но вот только петух интуиции будет спать и в задницу тебя не клюнет когда ты будешь в прерывании и фоне делать обращение к одной и той же многобайтной переменной. А место то стремное! Словишь глюк атомарного доступа (погугли, кстати, об этом) только вперед. И будешь потом его ловить неделями. После ассемблера же такие вещи просекаются сразу же. Как говорится задницей чую что тут косяк. Также, после ассемблерной практики куда проще ловить баги связаные со всякими срывами и левыми инициализациями прерываний. Вот случайно где то разрешил прерывание, а обработчик не поставил. ВОт у тебя и сбрасывается программа не пойми с чего. Дооолго будешь ловить причину, уверяю тебя. А увидеть вот так сразу в большой программе что где то там ошибся на один битик это очень сложно. Это надо свежим глазом окинуть программу. А где его взять то, особенно после недели отладки :) А зная как на асме идет вызов тех же прерываний -- в симуляторе, в ассемблерном режиме, навтыкал брейкпоинтов в потенциально стремные места и ловишь ошибки с одного-двух прогонов. Как знать где искать? Надо разобраться с тем как работает проц. При писании на асме это изучается само собой. Да и нет там ничего сложного. Просто парадигма несколько иная. Никаких функций котоыре там куда то что то возвращают. Все в регистрах/памяти. Все линейно и плоско.

Во вторых Си. Рекомендую не отвлекаться на всякие там бейсики и паскали. Некоторые их компиляторы под PIC/AVR ой чудо как хороши. Тот же микропаскаль. И библиотечки, и на всем готовом. И все сразу и все работает. Но это только для начинающего критично, чуть больше опыта и все это уже не нужно и сам с усами. Так не ведись на халяву и кури сразу Си. Причем компилятор максимально близкий к классическому (GCC например или IAR) без всяких извращений вроде аля "PORTD.7" (Камень в огород CVAVR) Нет этого в языке C! Этото какой то местечковый диалект. Зачем изучать именно Си и именно стандарт? Да чтобы потом скакать с контроллера на контроллер как захочется. Я вот сейчас сижу на AVR, C51 и ARM CortexM3 практически одновременно. Скачу с контроллера на контроллер от проекта к проекту. Везде за собой таскаю алгоритмические наработки. А т.к. компилятор единый и стандартизованный под самое нехочу, то код таскается копипастой! Попробуй под ARM свой бейсиковый проект перетащи, ага. А у меня перебрсока весьма толстой проги заняло пару часов -- подправить только аппаратные зависимости от периферии, да ряд мест исправить с учетом другой архитектуры (работало бы и так, но менее эффективно).

Все то же справедливо и для PIC
Изображение
aleksandr-zh
Сверлит текстолит когтями
Сообщения: 1278
Зарегистрирован: Пн июн 18, 2007 21:51:20

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

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

для O-LED

да простят меня модераторы...

Вы видели мою подпись с описание платы для новичков?

Комплект состоит из:
- плата печатная 150*100 мм,
- клемник, гнезда, штырьки, панельки,
- разъем DB-9 "мама" (для RS-232),
- м-ма драйвера RS-232 (аналог MAX232),
- м-ма 74HC595 (сдвиговый регистр),
- микроконтроллер ATMEGA-48,
- индикатор 7-сегментный (2 разряда),
- индикатор символьно-цифровой 16*2 (WH1602C),
- индикатор графический (от Nokia-3310),
- ИК-приемник (36 КГц),
- ИК-светодиод,
- стойки,
- динамик,
- резисторы, конденсаторы, джамперы, дроссель


http://pic-avr.narod.ru/stend/plata-gotova.JPG
Последний раз редактировалось aleksandr-zh Пн ноя 29, 2010 23:44:31, всего редактировалось 1 раз.
Аватара пользователя
dosikus
Друг Кота
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

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

Сообщение dosikus »

DIHALT , +1000
aleksandr-zh
Сверлит текстолит когтями
Сообщения: 1278
Зарегистрирован: Пн июн 18, 2007 21:51:20

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

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

DIHALT писал(а): Во первых асм. Его знать надо для эффективности.
Также, после ассемблерной практики куда проще ловить баги связаные со всякими срывами и левыми инициализациями прерываний. Вот случайно где то разрешил прерывание, а обработчик не поставил. ВОт у тебя и сбрасывается программа не пойми с чего. Дооолго будешь ловить причину, уверяю тебя. А увидеть вот так сразу в большой программе что где то там ошибся на один битик это очень сложно. Это надо свежим глазом окинуть программу. А где его взять то, особенно после недели отладки :) А зная как на асме идет вызов тех же прерываний -- в симуляторе, в ассемблерном режиме, навтыкал брейкпоинтов в потенциально стремные места и ловишь ошибки с одного-двух прогонов.
Согласен!


DIHALT писал(а):Во вторых Си. Рекомендую не отвлекаться на всякие там бейсики и паскали. ...
Зачем изучать именно Си и именно стандарт? Да чтобы потом скакать с контроллера на контроллер как захочется.

нет, тут не согласен
я работаю и с AVR. и с PIC

DIHALT писал(а):Попробуй под ARM свой бейсиковый проект перетащи, ага.

переношу. Если не элементарно, но без сложностей! :)

PicBasic + PicSimulator <> FastAVR+Bascom

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


=
Всё на свете не вечно!

Примечание 1
Кроме Ассемблера

Примечание 2
Человеческого фактора (священных войн "что лучше"/"круче")
:)
Аватара пользователя
dosikus
Друг Кота
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

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

Сообщение dosikus »

aleksandr-zh писал(а):
DIHALT писал(а):Попробуй под ARM свой бейсиковый проект перетащи, ага.

переношу. Если не элементарно, но без сложностей! :)

PicBasic + PicSimulator <> FastAVR+Bascom

буквально с месяц назад переносил,


Речь идет о ARM , а не AVR . :)))
aleksandr-zh
Сверлит текстолит когтями
Сообщения: 1278
Зарегистрирован: Пн июн 18, 2007 21:51:20

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

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

dosikus писал(а):Речь идет о ARM , а не AVR . :)))

о, блин
спать, спать...

для dosikus: как это мы с Вами успеваем одновременно и тут, и на казус.ру обчаться?))
Аватара пользователя
DIHALT
Потрогал лапой паяльник
Сообщения: 387
Зарегистрирован: Пт сен 12, 2008 03:26:14
Контактная информация:

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

Сообщение DIHALT »

Ну АВР и ПИК это одного поля ягоды. Семейства уже очень старые и очень популярные в народе и у любителей. Отсюда и прорва всяких компиялторов под всякие языки. Но вот выходит тут, например, STM8 - не контроллер, а песня. По периферии не хуже AVR (а местами и лучше), цена так вообще на грани фантастики (60р в розницу за 16кб контроллер о 32 выводах). А под него только родной ASM или С

Опа! Хочется, а уже и привычка писать на васике, и наработки и лень перетаскиваться и переучиваться. Так и остаешься торчать на AVR/PIC хотя есть куда спрыгивать. И все, отличное и перспективное семейство мимо тебя пролетает. А с STM8 миграция на STM32 вообще только в путь. Они по периферии весьма схожи. А STM32 это уже монстры. Там тебе и эзернет и усб тревидовый, и куча интерфейсов и всякие каскадные таймеры. Поддержка вытесняющих ОС аппаратно. Все сразу, много и дешево (от тех же 60 до 150р в розницу). Или, взять, например, PSOC 5 -- да там схема упраздняется вообще до одного контроллера. Львиную долю аналоговой обработки и цифровой логики (и это в обход процессора - проц там отдельная песня) он может на себя взять. А такое диво как Parallax Propeller с его восемью ядрами о 80мгц каждое. Это узкие ниши, не популярные, но зная промышленный Си (а не упрощенный диалект или васик) ты влезешь в них и сам не заметишь.
Изображение
aleksandr-zh
Сверлит текстолит когтями
Сообщения: 1278
Зарегистрирован: Пн июн 18, 2007 21:51:20

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

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

кстати!
с неделю назад кто-то давал мне ссылку про какой-то компилятор под АРМ
или Паскаль, или Бейсик
я почитал на сайте, но АРМов у меня в столе на макетке не валяется, а покупать нет нужны, то прочитал и забыл...
так что... ;)


Тему, думаю, можно закрыть:
сколько раз давал себе зарок- в халивары не встревать,
всё равно писькой обзовут :)

всем 73 и спок ночи...
aleksandr-zh
Сверлит текстолит когтями
Сообщения: 1278
Зарегистрирован: Пн июн 18, 2007 21:51:20

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

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

Я обсолютно полностью согласен с Вашим сообщением
за исключением одного:

ДЛ НОВИЧКА НУЖНЫ ИНЫЕ КРИТЕРИИ (я всё их пишу, пишу в обучалке, да не допишу...)
Нам надо:
-корпус ДИП - чтобы дома, без станции, и на коленке спаять (и не сломать глаза от шага о пол миллиметра)
-простой синтаксис
я как вижу:

Код: Выделить всё

int8_t state, curr;
do
{
curr = PINB;
if ((state ^ curr) & ((1 << PB0) || (1 <<PB1))) != 0)
{
if ((state ^ curr) & (1 << PB0) & (curr &(1 <<PB0)))
PORTB ^= (1 << PB2);

if ((state ^ curr) & (1 << PB1) & (curr &(1 <<PB1)))
PORTB ^= (1 << PB3);
state = curr;
}
}

так матом начинаю даже думать, не точто говорить
куда проще:

Код: Выделить всё

Config PortA=output
Led = Set
If key=1 then Led=Reset
Ответить

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