азы программирования микроконтроллеров.
Подскажите, пожалуйста, ресурсы на которых можно почитать и поучиться азам программирования атмеловских процов (в частности 51 ядро) и авр. хочу попробовать мож что и получиться 😃
Подскажите, пожалуйста, ресурсы на которых можно почитать и поучиться азам программирования атмеловских процов (в частности 51 ядро) и авр. хочу попробовать мож что и получиться 😃
Я думаю что Вам сюда: Algorithm Builder fo AVR, Начинаем
АБ интересная система, но имхо тупиковая. Так пробовали? lmgtfy.com/?q=программирование+AVR
А в чём тупиковость? Короткий, работающий код, байт так на 100-200, да с мощным задействованием железа, из билдера раз в 5 быстрее вылезает, чем из С. Впрочем, если стоИт задача втиснуть в ATmega8 ядро от линукса, да ещё чтоб оно переносимое было, тогда да, тупик.
Основная ценность какого-либо семейства МК не в ядре, не в скорости и объёме памяти, а в периферийном железе, т.е. в предоставляемых аппаратных функциях. А более “железозависимого” и “железоориентированного” чем АБ инструмента наверное и не сыскать.
спасибо, попробую ваши предложения.
Тупик в том, что это мало-развитая среда, нихрена не переносимая с других платформ, и неприменяющаяся нигде больше. К томуже, как я понял она больше не развивается, раз стала бесплатной.
Когда-нибудь меги отойдут, билдер умрет, С останется.
К томуже, как я понял она больше не развивается, раз стала бесплатной.
Ничего подобного. Разработчик этой программы на данный момент занимается разработкой АВ на новой платформе.
Задача среды создание эффективного а не переносимого кода. Билдер это макроассемблер, и обсуждение переносимости ассемблера, как железозависимого инструмента вообще бессмысленно.
из билдера раз в 5 быстрее вылезает, чем из С.
Это кто измерял? Разработчики пакета? 😃
Когда-нибудь меги отойдут, билдер умрет, С останется.
+1. ИМХО проблема подобных проектов (как и в свое время громкие заявления о рождении языка n-поколения, очередного убийцы C), что изначально они предназначены для ускорения сроков разработки. Но для освоения не так просты (во всяком случае не сравнимы с гениальной простотой Си) и требуют довольно большого времени для изучения, привыкания к идеологии и всем нюансам. А через пяток лет, создаются другие, построенный абсолютно на других принципах и логике, очередные подобные “упростители” для очередного железа. И разработчику приходится начинать с нуля…
Как c далекого 88 писал на Си, так и пишу… абсолютно не переживая о развитии железа и средств разработки c того времени… Чего и всем желаю… 😃
ЗЫ По поводу использования аппаратных ресурсов… В соседней своей ветке c OSD и GS использую аппаратные возможности весьма не традиционно, имхо на 200%. Без ложной скромности вижу в этом элементы искуства, вряд ли поддающемуся формализации, и значит не по зубам никакому автокодеру…
Я пользую Паскаль от Микроэлектроники - http://www.mikroe.com . Там-же есть Си. Для начального освоения есть бесплатные демоверсии до 2 кБ кода. Для того, чтобы определиться, нужно оно Вам или нет, вполне достаточно. AVR-ки и ассемблер под них я начал осваивать года три-четыре назад по книжке Джона Мортона “Микроконтроллеры AVR. Вводный курс”. Освоение продолжается по сей день. Дело идет туго, да и времени особо нет. Чтобы не морочиться с программаторами, сразу взял STK-500. Пока не жалею. Для мелких проциков ИМХО лучше ассемблер, код в разы компактнее выходит, легче в кристалл запихнуть. Да и понимание приходит быстрее.
Цепочка у меня была такой: с 82 года - ФОРТРАН (ОС ЕС), с 87 года - Паскаль, сейчас Дельфи. Си не люблю изначально, синтаксис не нравится. Но я не профи-программер, так, больше любитель. Поэтому и советы мои - чисто любительские.
хочу попробовать мож что и получиться 😃
Рекомендую начать с avr.nikolaew.org/learn.htm
Написано просто и доходчиво.
Стоит начать именно с ассемблера. Хотя бы пару поделок на нем сделать, чтобы знать как периферия работает, как ее включать и настраивать.
- для начала скачать и установить vmlab, правда старовата програмка, нет поддержки новых камней. но для начала имхо самое то.
После этого можно и на си уже переползти;)