Метка «avr» - 5

В статье habrahabr.ru/post/151544/ и комментариях к ней возник вопрос, почему разные компиляторы выдают код не только разного размера, но и разной эффективности. Если с первым фактором еще можно мириться, то второй может свести все ваши усилия в написании программы на нет. Это на PC еще можно добавить памяти до 32 Гб и поставить 16 ядерный процессор на 10 ГГц, чтобы косынка на NET8.0 не тормозила, а embedded система — девица более изысканная и утонченная.
Итак, сравниваем компиляторы:
1. BASCOM-AVR
2. Wiring
3. С CodeVisionAVR.
Читать полностью »

Компилятор avrgcc поддерживает C++, однако в его поставку не входит ни стандартная библиотека, ни реализация ABI: служебных функций, вызовы которых вставляет сам компилятор. В результате люди пытаются реализовать те части, которые им нужны, самостоятельно и зачастую делают это не очень хорошо. Например, часто предлагается отстрелить себе ногу определив пустую функцию __cxa_pure_virtual(void) {} или подложить себе грабли, написав заглушки для __cxa_guard_acquire, __cxa_guard_release и __cxa_guard_abort. В данной статье я предлагаю разобраться, чего не хватает для счастья, где это взять или как написать.
Я знаю, что немло людей считает, что C++ на микроконтроллере не нужен. Их я прошу прочитать последний раздел статьи перед тем, как писать комментарии.Читать полностью »

Использование библиотек QSerialDevice и 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, достаточно скомпилировать коды под нужной платформой — и все работает! Так что, кому интересно, прошу под кат!Читать полностью »

Начитавшись статей на Хабре про квадрокоптеры, и насмотревшись видео на YouTube, захотелось и мне сделать квадрокоптер.
Заказал я в чудесном китайском магазине деталек, за основу брал список из этой статьи. К сожалению, в том магазине отсутствовала радиоаппаратура, да и опыта покупок на такие суммы у меня пока что не было, поэтому заказ состоял только из пропеллеров, аккумуляторов, двигателей, контроллеров к ним (ESC) и главного контроллера.
Приехало все достаточно быстро — менее двух недель (из Гонконга в Киев). Сразу после этого заказал в другом магазине радиоаппаратуру и разную мелочь.
Раму я сделал из подручных материалов (квадратной алюминиевой трубы из местного строительного магазина), разместил на ней двигатели с контроллерами. И захотелось мне их испытать — вдруг бракованые есть. Инструкция к ESC говорила о том, что нужно подключить к ним один из каналов от радиоуправления. Но радиоуправление приедет не раньше чем через полторы недели…
Читать полностью »

Привет!

Хочу представить дипломный проект, который плавно перерос в мелкосерийное производство.

Собственно это Open Source платы для протипирования на базе AVR AT90USB162 с аппаратным USB.
Плата предназначена для начинающих и основной упор делается на изучение периферии UART, SPI, 1-wire.

Макетная плата MAT90USB162 с аппаратным USB, ЦАП, внешним АЦП и 32Mb DataFlash

Документация
Примеры
Читать полностью »

Итак, продолжаем. Подробный разбор полетов, мои этапы рисования платы. Мало текста, много картинок. Если вам не интересна вся эта информация, но интересен результат, смело листайте вниз и забирайте рисунок платы в формате lay.

Продолжение темы
Механический дисплей на AVR с нуля. Часть 0: программатор(ы)
Читать полностью »

Спасибо ресурсу easyelectronics.ru и лично DI HALT, большинство информации черпал оттуда, здесь также будет проскакивать немного материалов с данного ресурса. Для того, чтобы избежать излишнего повторения, рекомендую начать именно с него, там понятным языком расписаны такие страшные слова, как FUSE-биты, ISP программирование или сдвиговый регистр. Предполагается, что читатель диванный теоретик обладает небольшой теоретической базой

Самое лучшее обучение – практика. Именно поэтому, когда я первый раз увидел статью про микроконтроллеры мне захотелось соорудить что-нибудь «эдакое». Первое, что попалось на глаза было видео:

Читать полностью »

Появилась у меня идея сделать внешний интерфейс для счетчика воды, чтобы не лазать в подвал для снятия показаний. После некоторых размышлений я остановился на ATTiny2313A(стоит ~80р, а ставить для этого Arduino ценой в ~1000р. мне жаба не дает) + несколько резисторов, кнопок и 7-ми сегментный индикатор. Но остановился перед проблемой — в отличии от Arduino здесь нужен программатор. Поскольку я не сильно увлекаюсь МК, то программаторов у меня как-то не водится. Arduino теоретически можно использовать в этом качестве, но реально я этого никогда не делал.
Читать полностью »

В один прекрасный день выяснилось что нужны в автомобиль часы. Автомобиль десятого семейства оснащен стандартными механическими часами с очень удобным корпусом. Выкидываем всю механику и садимся за паяльник.

Автомобильные супер часы

Читать полностью »

Шпаргалки для тех, кто делает первые шаги

На картинке фрагмент отличной шпаргалки, где собраны основные электронные компоненты — их внешний вид и обозначения на принципиальных схемах.

Шпаргалка по электронным компонентам (PDF, 168Kb)
Шпаргалка по контроллерам AVR (ч.1) (PDF, 61Kb)
Шпаргалка по контроллерам AVR (ч.2) (PDF, 61Kb)

PS: Там же, на сайте, имеется любопытный блог с описанием эффектных электронных поделок. Культура исполнения на высоте, приведены ссылки на open source прошивки.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js