В статье habrahabr.ru/post/151544/ и комментариях к ней возник вопрос, почему разные компиляторы выдают код не только разного размера, но и разной эффективности. Если с первым фактором еще можно мириться, то второй может свести все ваши усилия в написании программы на нет. Это на PC еще можно добавить памяти до 32 Гб и поставить 16 ядерный процессор на 10 ГГц, чтобы косынка на NET8.0 не тормозила, а embedded система — девица более изысканная и утонченная.
Итак, сравниваем компиляторы:
1. BASCOM-AVR
2. Wiring
3. С CodeVisionAVR.
Читать полностью »
Метка «avr» - 5
Сравнение эффективности компиляторов для Atmel AVR
2012-09-17 в 6:32, admin, рубрики: arduino, avr, bascom, Программинг микроконтроллеров, метки: arduino, avr, bascom, c++, ассемблерПоддержка C++ на avr в gcc
2012-08-16 в 7:25, admin, рубрики: arduino, avr, c++, Программинг микроконтроллеров, стандарты, метки: avr, c++, стандарты Компилятор avrgcc поддерживает C++, однако в его поставку не входит ни стандартная библиотека, ни реализация ABI: служебных функций, вызовы которых вставляет сам компилятор. В результате люди пытаются реализовать те части, которые им нужны, самостоятельно и зачастую делают это не очень хорошо. Например, часто предлагается отстрелить себе ногу определив пустую функцию __cxa_pure_virtual(void) {} или подложить себе грабли, написав заглушки для __cxa_guard_acquire, __cxa_guard_release и __cxa_guard_abort. В данной статье я предлагаю разобраться, чего не хватает для счастья, где это взять или как написать.
Я знаю, что немло людей считает, что C++ на микроконтроллере не нужен. Их я прошу прочитать последний раздел статьи перед тем, как писать комментарии.Читать полностью »
Использование библиотек QSerialDevice и QWT для организации коммуникации с контроллером и отображения данных
2012-08-13 в 21:14, admin, рубрики: arduino, avr, com-порт, diy или сделай сам, qt, Qt Software, QWT, Программинг микроконтроллеров, метки: arduino, avr, com-порт, Qt, QWT
В продолжение своей статьи «Простой электронный самописец» хочу поделится опытом создания терминала для сообщения с разработанным мной девайсом на основе библиотек QSerialDevice и QWT, ну и естественно QT. QSerialDevice работает с любым COM-портом (реальным или виртуальным) определенным операционной системой, поэтому не имеет значения каким способом контроллер подключен к ПК: непосредственно через адаптер UART->RS-232(MAX-232), через адаптеры UART->USB(FT-232, CP2101) или UART->Bluetooth(BTM-222), также можно, например, подключить Arduino-совместимое устройство (адаптер UART->USB уже напаян на плату). QWT же — мощное средство отображения данных. Их общий плюс — кроссплатформенность, это же QT, достаточно скомпилировать коды под нужной платформой — и все работает! Так что, кому интересно, прошу под кат!Читать полностью »
А мне летать охота, или как протестировать узлы квадрокоптера без аппаратуры радиоуправления
2012-07-13 в 12:49, admin, рубрики: avr, avr-usb-mega16, DIY, diy или сделай сам, квадрокоптер, метки: avr, avr-usb-mega16, DIY, квадрокоптерНачитавшись статей на Хабре про квадрокоптеры, и насмотревшись видео на YouTube, захотелось и мне сделать квадрокоптер.
Заказал я в чудесном китайском магазине деталек, за основу брал список из этой статьи. К сожалению, в том магазине отсутствовала радиоаппаратура, да и опыта покупок на такие суммы у меня пока что не было, поэтому заказ состоял только из пропеллеров, аккумуляторов, двигателей, контроллеров к ним (ESC) и главного контроллера.
Приехало все достаточно быстро — менее двух недель (из Гонконга в Киев). Сразу после этого заказал в другом магазине радиоаппаратуру и разную мелочь.
Раму я сделал из подручных материалов (квадратной алюминиевой трубы из местного строительного магазина), разместил на ней двигатели с контроллерами. И захотелось мне их испытать — вдруг бракованые есть. Инструкция к ESC говорила о том, что нужно подключить к ним один из каналов от радиоуправления. Но радиоуправление приедет не раньше чем через полторы недели…
Читать полностью »
Макетная плата MAT90USB162 с аппаратным USB, ЦАП, внешним АЦП и 32Mb DataFlash
2012-06-18 в 12:19, admin, рубрики: avr, diy или сделай сам, макетная плата, прототипирование, Электроника для начинающих, метки: avr, макетная плата, прототипированиеПривет!
Хочу представить дипломный проект, который плавно перерос в мелкосерийное производство.
Собственно это Open Source платы для протипирования на базе AVR AT90USB162 с аппаратным USB.
Плата предназначена для начинающих и основной упор делается на изучение периферии UART, SPI, 1-wire.
Механический дисплей на AVR с нуля. Часть 1: плата дисплея
2012-05-29 в 15:54, admin, рубрики: avr, diy или сделай сам, electronics, LED, Электроника для начинающих, метки: avr, diy или сделай сам, electronics, LED, электроника для начинающихИтак, продолжаем. Подробный разбор полетов, мои этапы рисования платы. Мало текста, много картинок. Если вам не интересна вся эта информация, но интересен результат, смело листайте вниз и забирайте рисунок платы в формате lay.
Продолжение темы
Механический дисплей на AVR с нуля. Часть 0: программатор(ы)
Читать полностью »
Механический дисплей на AVR с нуля. Часть 0: программатор(ы)
2012-05-28 в 17:03, admin, рубрики: avr, diy или сделай сам, electronics, LED, Электроника для начинающих, метки: avr, diy или сделай сам, electronics, LED, электроника для начинающих Спасибо ресурсу easyelectronics.ru и лично DI HALT, большинство информации черпал оттуда, здесь также будет проскакивать немного материалов с данного ресурса. Для того, чтобы избежать излишнего повторения, рекомендую начать именно с него, там понятным языком расписаны такие страшные слова, как FUSE-биты, ISP программирование или сдвиговый регистр. Предполагается, что читатель диванный теоретик обладает небольшой теоретической базой
Самое лучшее обучение – практика. Именно поэтому, когда я первый раз увидел статью про микроконтроллеры мне захотелось соорудить что-нибудь «эдакое». Первое, что попалось на глаза было видео:
Использование Arduino UNO в качестве программатора
2012-05-26 в 20:59, admin, рубрики: arduino, attiny2313, avr, diy или сделай сам, isp, метки: arduino, attiny2313, avr, isp Появилась у меня идея сделать внешний интерфейс для счетчика воды, чтобы не лазать в подвал для снятия показаний. После некоторых размышлений я остановился на ATTiny2313A(стоит ~80р, а ставить для этого Arduino ценой в ~1000р. мне жаба не дает) + несколько резисторов, кнопок и 7-ми сегментный индикатор. Но остановился перед проблемой — в отличии от Arduino здесь нужен программатор. Поскольку я не сильно увлекаюсь МК, то программаторов у меня как-то не водится. Arduino теоретически можно использовать в этом качестве, но реально я этого никогда не делал.
Читать полностью »
Автомобильные супер-часы
2012-03-20 в 14:04, admin, рубрики: avr, ds1307, Программинг микроконтроллеров, Часы, метки: avr, ds1307, ЧасыВ один прекрасный день выяснилось что нужны в автомобиль часы. Автомобиль десятого семейства оснащен стандартными механическими часами с очень удобным корпусом. Выкидываем всю механику и садимся за паяльник.
Шпаргалки для тех, кто делает первые шаги
2012-03-14 в 13:51, admin, рубрики: avr, база, конденсатор, микроконтроллеры, резистор, транзистор, электроника, Электроника для начинающих, метки: avr, база, конденсатор, микроконтроллеры, резистор, транзистор, электроника
На картинке фрагмент отличной шпаргалки, где собраны основные электронные компоненты — их внешний вид и обозначения на принципиальных схемах.
Шпаргалка по электронным компонентам (PDF, 168Kb)
Шпаргалка по контроллерам AVR (ч.1) (PDF, 61Kb)
Шпаргалка по контроллерам AVR (ч.2) (PDF, 61Kb)
PS: Там же, на сайте, имеется любопытный блог с описанием эффектных электронных поделок. Культура исполнения на высоте, приведены ссылки на open source прошивки.
Читать полностью »