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

Здесь принимаются все самые невообразимые вопросы... Главное - не стесняйтесь. Поверьте, у нас поначалу вопросы были еще глупее :)
Аватара пользователя
Аlex
Модератор
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля
Контактная информация:

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

Сообщение Аlex »

aivcon писал(а):Буржуйским языкам не обучен.
Я тоже в нём полный ноль. Хотя это не даёт мне право не обращаться к документации и задавать глупые вопросы на форумах, ответы на которые ищутся за 2 минуты.

aivcon писал(а):Я смотрю здесь даже модераторы пафосные
Т.е. указание человеку места, где лежит ответ на его вопрос - уже считается оскорблением ? Люди уже обленились, им всё на блюдечке с голубой каёмочкой подавай :facepalm:

aivcon писал(а):Знаешь ответ, поделись
Не вижу смысла что-то объяснять лентяям, переписывая уже кем-то написанное...
Аватара пользователя
aivcon
Вымогатель припоя
Сообщения: 588
Зарегистрирован: Пн ноя 04, 2013 09:43:14
Откуда: Подольск.

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

Сообщение aivcon »

Спасибо что хоть не предложили что нибудь купить, или попросить сделать дядю Васю.
:)
Аватара пользователя
Аlex
Модератор
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля
Контактная информация:

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

Сообщение Аlex »

Покупать в Вашем случае есть смысл только ICD3 и выше, чтобы была ещё и отладка. Тритон, на самом деле, достаточно серьёзный программатор.
Аватара пользователя
aivcon
Вымогатель припоя
Сообщения: 588
Зарегистрирован: Пн ноя 04, 2013 09:43:14
Откуда: Подольск.

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

Сообщение aivcon »

Спасибо, разберусь.
Аватара пользователя
Ilyazh
Первый раз сказал Мяу!
Сообщения: 24
Зарегистрирован: Ср май 21, 2014 13:18:07
Откуда: Санкт-Петербург
Контактная информация:

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

Сообщение Ilyazh »

Доброго времени суток, котаны! Подскажите пожалуйста, можно ли usb-ttl программатор на МК CP2102 использовать для прошивки и программирования Atmel или pic? Пытаюсь всё узнать, но безуспешно. Или же эта штука лишь для программирования прошитых arduino?
nirq
Опытный кот
Сообщения: 758
Зарегистрирован: Вс фев 10, 2013 15:26:00

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

Сообщение nirq »

Эта штука лишь преобразователь интерфейса из USB в UART и обратно.

В ардуине загрузчик, в компьютере программа общается через уарт с загрузчиком, напримет командует "запиши в себя вот эту вот последовательность байтов, внимание начинаю передавать".
О способе общения они между собой договорились заранее (в процессе написания себя программистом).
По-иностранному "бутлоадер".
Аватара пользователя
Ilyazh
Первый раз сказал Мяу!
Сообщения: 24
Зарегистрирован: Ср май 21, 2014 13:18:07
Откуда: Санкт-Петербург
Контактная информация:

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

Сообщение Ilyazh »

Понял, т.е. при наличии загрузчика будет работать и с голыми Atmel, а что насчёт ПИКов? Аналогично, при наличии прошивки?

nirq писал(а):Эта штука лишь преобразователь интерфейса из USB в UART и обратно.

В ардуине загрузчик, в компьютере программа общается через уарт с загрузчиком, напримет командует "запиши в себя вот эту вот последовательность байтов, внимание начинаю передавать".
О способе общения они между собой договорились заранее (в процессе написания себя программистом).
По-иностранному "бутлоадер".
Аватара пользователя
oleg110592
Друг Кота
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

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

Сообщение oleg110592 »

для пиков аналогично, но не всех:
http://www.etc.ugal.ro/cchiculita/softw ... loader.htm
можете использовать для прошивки микроконтроллеров на ядре ARM, например STM32 - там встроенный бутлоадер
MisHel64
Опытный кот
Сообщения: 773
Зарегистрирован: Пн сен 01, 2014 20:38:54

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

Сообщение MisHel64 »

Долго читал тему, последние 10 страниц прочитал с повышенным вниманием.
Сразу оговорюсь, с паяльником дружу, но сам схемы не разрабатывал лет 20. О современной базе имею очень смутное представление.
Ассемблер для меня не проблема, под x86 пишу свободно, в детстве писал под ВМ80, 51й, позже под мобильники.
Английский технический не пугает, свободно читаю. Хотя от хорошей книжки на русском, не откажусь.

Вот приспичило получить байтик в COM порта и вывести на 8 диодиков, или 2 семисегментника, пока не суть.
Уперся в примитивную вещь. Не как ни пойму, что мне выбрать. PIC или AVR.
Хочется что бы программировать МК можно было не выпаивая из схемы, с СОМ порта.
Аппаратная реализация UART в принципе думаю не нужна, легко сделать программно, если есть механизм прерываний.
Хотел зайти в магазин, и там посмотреть что есть по дешевле, но продавец список отказался предоставить.
В общем решил покупать через инет. Может подскажите хороший магазин для начинающих типа "детали почтой"?
Я хоть по каталогу этого магазина подберу оптимальный МК для своих целей.

И еще вопросик. В чем сейчас лучше схемки рисовать? А то PCAD досовый уже явно слишком стар.

Вы уж простите новичка, если не в ту тему влез.
Аватара пользователя
Gudd-Head
Друг Кота
Сообщения: 20092
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

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

Сообщение Gudd-Head »

MisHel64 писал(а):В чем сейчас лучше схемки рисовать? А то PCAD досовый уже явно слишком стар.

Есть виндовский P-CAD. А если просто схемку набросать, то sPlan.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Аватара пользователя
Ser60
Друг Кота
Сообщения: 3784
Зарегистрирован: Ср дек 24, 2008 09:58:58

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

Сообщение Ser60 »

Попробуйте ещё Eagle для рисования схем/плат.

Если стоит цель управлять с COM порта светодиодами, можно и без МК обойтись, например с помощью регистра сдвига. Но правильнее будет применить конвертер интерфейса USB в последовательные, см. например,здесь.

Если есть опыт программирования на х51, почему-бы не продолжить? Что лучше - AVR или PIC - вопрос скорее провокационный. Однозначного ответа на него нет.
MisHel64
Опытный кот
Сообщения: 773
Зарегистрирован: Пн сен 01, 2014 20:38:54

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

Сообщение MisHel64 »

В общем поковырялся.
PCAD штука хорошая, но уж больно муторная. Для простеньких схем явно избыточная, да еще и библиотеки...
Eagle дали, посмотрю, но наверно теперь не скоро.
Ser60 Ну подскажи хоть один регистр сдвига, что бы напрямую с COM порта получал. А что будет правильнее... Я как бы сам решу, хорошо?

В общем что у меня получилось. АСМ у PICов очень бедный. За то у АВР с наскоку фиг с регистрами разберешься.
Простенький PIC стоит в два раза дешевле AVR, я смотрел в DIP14..DIP20 корпусах. У меня получилось AtTiny2313 и PIC16F630. Это то, что было в магазине.
Реализовать программно COM порт на PIC при тактовой в ~3,6864МГц не получится. Скорость в 115,2 не вытянет.
Про AVR не знаю, не считал.
В общем задача не то что снята, а отложена в долгий ящик. За $10 купил отладочный порт. Его намного проще использовать в свей проге, и ненужно изобретать знако генератор, который на 7сегметнике покажет все 16 комбинаций.
По идее, можно К155РЕ3 прошить. Программатор делаеться на коленке, но прошить ее, таким программатором это ананизм.
И самое смешное. Долго и упорно гуглил про эту РЕ3. Но так и не смог найти, какие у нее токи 0 и 1 на выходе. А свои справочники давно растерял.
Ходовые сдвиговые регистры 74HC164/595 не потянут 8 диодов даже 10мА.
А драйверов типа STP08C595 нет в наличии.

PS: И вот я одного не понял... Зачем в 6 ножке 8 АЦП?
Аватара пользователя
radio-kot
Собутыльник Кота
Сообщения: 2584
Зарегистрирован: Вт сен 14, 2010 10:27:19

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

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

595 есть на 100 и на 150 мА
Будете проходить мимо- проходите!
Аватара пользователя
Ser60
Друг Кота
Сообщения: 3784
Зарегистрирован: Ср дек 24, 2008 09:58:58

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

Сообщение Ser60 »

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


Разумеется, я имел в виду подсоединение регистра сдвига к COM порту через согласователь уровней, например MAX232. Согласователь и для МК нужен будет. А далее, если умеете программно из компа дрыгать отдельными ногами COM порта, используйте 2 из них для регистра сдвига.

Зачем для управления светиками нужна скорость 115 kpbs? Но если хочется, зачем реализовывать программный UART, если в большинстве PIC/AVR есть аппаратный, поддерживающий даже большие скорости. В F630 его нет, но во многих других (например F628) есть. Кстати, для индикации цифр на 7-сегментнике вместо ПЗУ можно использовать дешифратор, например, CD4511 или подобные. А можно и вообще без дешифратора обойтись, загрузив из компа подходящий код в регистр стдига.

MisHel64 писал(а):PS: И вот я одного не понял... Зачем в 6 ножке 8 АЦП?


Если это действительно только одно непонятное, Ваши дела идут просто замечательно. :) Приложения разные бывают. Например, АЦП можно использовать для подключения многих кнопок к одному входу МК.
MisHel64
Опытный кот
Сообщения: 773
Зарегистрирован: Пн сен 01, 2014 20:38:54

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

Сообщение MisHel64 »

radio-kot Я понимаю, что где-то все есть. Я даже знаю места где лежат тонны золота. Вот только эти знания не делают меня богаче. Я же писал. Продавец толковый, хотя похоже самоучка, но аналоги и замены всегда подбирает, если есть чем заменить. И про инет магазины никто не сказал. Если правила запрещают в теме, есть же еще личка.
Ser60 Я очень люблю людей, которые сами по увиденным знакомым буквам додумывают задачу за автора, и усиленно пытаются ее решить. Использовать TxD в качестве тактового, а RST в качестве данных, не оригинальное решение, и я про него, (сюрприз!) знаю. Но спрашивал то я про использование TxD по назначению не спроста.
В далеком при далеком детстве, это делалось на ЛА3, ТМ2, полудюжине ИЕ7, и паре ИР1. Даже с "защелкой" состояния получалось. И светодиоды это тогдашние тянуло. Но прошло четверть века... Что, опять городить десяток корпусов?

Добавлено
Ser60 писал(а):Кстати, для индикации цифр на 7-сегментнике вместо ПЗУ можно использовать дешифратор, например, CD4511 или подобные.
Ну а теперь расскажи мне, какие сегменты будут гореть на семисегментнике если на вход CD4511 подать значение больше 9, например 10? И как это согласуется с моим ТЗ и мотиваций использования ПЗУ?
Или мы разные даташиты читаем? Я например прочел этот: http://www.ti.com/lit/ds/symlink/cd4511b.pdf
Аватара пользователя
Ser60
Друг Кота
Сообщения: 3784
Зарегистрирован: Ср дек 24, 2008 09:58:58

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

Сообщение Ser60 »

OK, если хотите отображать все HEX-цифры (я полагаю, это и есть ТЗ?) 4511 не подойдет. Подобный вопрос уже обсуждали здесь. Наколько я понял ТЗ, Вам нужно управлять одним или двумя 7-сег индикаторами в статике. Если они рассчитаны на 3 или 5В и достаточно яркие при рабочем токе порядка 10 мА, то практически любая современная логика выдаст столько. Если нужно больше тока, озвучте это в ТЗ.

Сегодня такая задача может быть решена, например, с помощью одного корпуса микроконтроллера с USB интерфейсом, или связка МК с UART + МАХ232 для COM порта, или связка MK с UART + USB-UART конвертер, или USB-I2C конвертер + драйвер светодиодов. Я не понимаю, привязаны-ли Вы к COM порту, и если ДА, хотелось-бы знать причины для неиспользования USB.

Насчет Интернет-магазинов, чтобы народу посоветовать Вам такой, нужно хотя-бы знать в какой стране Вы живете. Посмотрите в этой теме для начала http://radiokot.ru/forum/viewforum.php?f=16
MisHel64
Опытный кот
Сообщения: 773
Зарегистрирован: Пн сен 01, 2014 20:38:54

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

Сообщение MisHel64 »

Ser60 Мне все больше нравится твое желание помочь мне решить тобой придуманные проблемы.
Не смотря на то, что даже ТАМ обсуждали, что 4511 не подойдет для моих целей, хотя это было ясно любому умеющему читать даташиты и без "тамошних" обсуждений, ты мне советуешь ее использовать. Объясни мне зачем?
Я понимаю, ты выучил прекрасное слово USB и суешь его к месту и не к месту. Объясни мне зачем мне его использовать? Только потому, что это модно, и тебе нравится это слово?
"Сегодня такая задача может быть решена, например, с помощью одного корпуса микроконтроллера с USB интерфейсом,"
Отлично. Дай примитивную схемку с таким контролером, что бы получив байт от проги он зажег 8 светодиодов с потреблением 20мА каждый, в соответствии с полученным байтом из программы. И прям примитивную прожку под x86 DOS, что бы посылала всего один байт в этот контролер. А я уж как нибудь допилю под свои задачки.
А теперь мозг включи, и подумай, во сколько тысяч раз твоя прога будет медленнее моей, загоняющей все тот то же самый 1 байт в COM порт.
Прости, но как я вижу, ты даже банальный даташит на примитивный дешифратор не осилил, и загоняешь мне про контролеры с USB.
Аватара пользователя
Ser60
Друг Кота
Сообщения: 3784
Зарегистрирован: Ср дек 24, 2008 09:58:58

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

Сообщение Ser60 »

Спасибо. Но я не буду опускаться до ответного хамства в Ваш адрес. Больше Вам мешать не буду. Удачи в творчестве!
А примитивную схему контроллера с описанием программы зажигания 2-х светодиодов можете найти, например, в списке моих статей в профиле. Она, правда, не для DOS.
MisHel64
Опытный кот
Сообщения: 773
Зарегистрирован: Пн сен 01, 2014 20:38:54

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

Сообщение MisHel64 »

Вообще бы сильно помог ответ типа такого:
AtMega8, AtTiny2313, PIC16F6?? могут программироваться внутри схемы простым кабелем подключенным к COM порту. Схему брать там, программатор там, компилятор ассемблера там, книжку по программированию на русском языке с мульеном рабочих примеров там.
В этом магазине они стоят менее $1 за 1000шт с бесплатной доставкой наложным платежом по всей России. Эти чудо микросхемы имеют SPI, UART, и еще кучу не нужной тебе хрени, жрут менее наноампера, а нагрузочная способность 1000А на на ножку.
А не умничания, на тему засуньвжопусвойком и беримегахреньсусбэ.

Добавлено: Ср сен 03, 2014 06:06:34
Ser60 писал(а):Спасибо. Но я не буду опускаться до ответного хамства в Ваш адрес. Больше Вам мешать не буду. Удачи в творчестве!
Тебе задали три простых вопроса.
Зачем мне использовать микросхему, которая по даташиту изначально мне не подходит.
Зачем мне использовать то, что мне не нужно, вместо того что мне нужно.
Тебя попросили дать конкретный пример реализации, максимально простой, под твои же собственные советы.
А в ответ, обвинения в хамстве и банальный слив. Ну кто ты после этого?
Последний раз редактировалось ibiza11 Ср сен 03, 2014 09:17:24, всего редактировалось 1 раз.
Причина: 2.2 Запрещается создание нескольких сообщений подряд в одной теме. Если вы хотите что-то добавить к своему, уже написанному сообщению, воспользуйтесь кнопкой "Правка".
Аватара пользователя
menzoda
Вымогатель припоя
Сообщения: 535
Зарегистрирован: Вт авг 28, 2012 22:21:33

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

Сообщение menzoda »

MisHel64 писал(а):Вообще бы сильно помог ответ типа такого...

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

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