IR + USB HID = очередной пульт для компа (часть 4)


Краткое содержание предыдущих серий:
Захват и декодирование IR протокола
Теория USB HID
Код для STM32

В этой части я расскажу про программы-полезняшки. Куда уж без них.


Читать дальше

IR + USB HID = очередной пульт для компа (часть 3)


В первых двух частях (часть 1 и часть 2) мы разобрали теоретические моменты. В этой части мы перейдем к практике — создадим рабочий код.


Читать дальше

Частотомер до 1ГГц на STM32

Была необходимость померять частоту около 137МГц, частотомер на такую частоту найти не получилось, ну и решил я сваять свой частотомер с блекджеком и шлюхоми. Посёрфил по просторам интернета, ну типо изучил предметную область, мне подвернулась идея применить делитель частоты. Существует множество проектов измерения частоты на AVR и PIC, а вот на STM мне ни одного и не попалось. Почему я не взял PIC и не использовал готовый проект? Потому что нет отладчика для PIC, использую в основном STM, и есть на чём лепить и экспериментировать.

Делитель частоты



Читать дальше

IR + USB HID = очередной пульт для компа (часть 2)


Напоминаю про наличие первой части статьи. В этой части мы разберем на составляющие USB-HID устройство и подготовимся к написанию минимального кода, который по нажатию кнопок на пульте рулит громкостью и проигрывателем.
Поехали…


Читать дальше

IR + USB HID = очередной пульт для компа (часть 1)



Цель данной статьи — продолжение изучения семейства STM32. Поэтому все возражения на тему «а нафига такой мощный проц для такой задачи, я в лихих 90-х делал это на тиньке» или «а в Китае такие по пять рублей пучок» сразу же идут лесом. Тем более, что заглавная картинка взята с ebay, где такой комплект продается за 4-6 баксов.
Статья разделена на три части:
1. Захват и декодирование IR-протокола (таймеры)
2. Создание HID-устройства для выполнения действий на компе без драйверов (USB-HID библиотека)
3. Программа на компе для настройки параметров
4. (опционально, если руки дойдут) Реализация устройства в железе, разводка платы и пайка

Итак, часть первая…


Читать дальше

Скользкая дорожка для поклонников volatile



Прошло уже практически 30 лет с тех пор, как в стандарте языка C появился модификатор volatile, но в наши дни это ключевое слово вызывает лишь больше вопросов и непонимания даже среди программистов, общающихся с железом на “ты”. Сейчас уже никого не удивишь многоядерным мобильным телефоном или компьютером, умещающимся в одном чипе. Прогресс не стоит на месте, компиляторы умнеют, задачи программистов усложняются, вынуждая помнить о барьерах компиляции и барьерах памяти работая на многопроцессорных системах, только volatile по-прежнему остается темным уголком стандарта, в котором лишь сказано, что доступ к такой изменчивой переменной “implementation-defined” (Стандарт C, 6.7.3/7), т.е. как решат ребята, разрабатывающие компилятор, так и будет.



Читать дальше

Защита устройства от взлома и копирования

Защита от копированияОбещал я недавно моему знакомому — хорошему электрику и чайнику в электронике — сделать небольшое устройство
1) Итак, сделали вы ваше устройство, продали заказчику c предоплатой. Проходит условленный месяц — а второй части оплаты все нет и нет… Вы ему звоните — а он куда-то пропал… Вы ему угрожаете — а он отмазывается. В результате железякой он пользуется, а деньги вам все не отдал. Г-гадина!!!
2) Итак, сделали вы ваше устройство, продали заказчику и радуетесь жизни. А потом с удивлением обнаруживаете на рынке до боли похожее устройство, но сделанное кем-то другим. Оказалось, что у заказчика взял посмотреть ваше устройство его друг, который ваш конкурент. Он его скопировал и теперь продает. Г-гадина!!!
3) Итак, сделали вы ваше устройство, продали заказчику и радуетесь жизни. Вы закрыли все fuse у контроллера — порядок, копировать не будут!.. Так как устройство у вас поддерживаемое, вы регулярно выкладываете обновления, которые заливаются bootloader-ом. А потом с удивлением узнаете, что дружбан заказчика чего-то там модернизирует в вашей программе, делает похожую плату и начинает тиражировать устройство. Оказывается, он проанализировал ваш код и теперь ваяет свое. Г-гадина!!!

У вас такое было/будет/волнует? Если да — то учимся не допускать этого!

I. S. Спасибо всем за дельные комментарии!


Читать дальше
  • +19
  • 25 октября 2012, 14:46
  • PICC

USBasp и программирование по TPI

AVR
Недавно, мне пришлось использовать ATtiny10 в одном из проектов. Поскольку, я не обнаружил, в сообществе, статьи о программировании этих контролеров, то решил поделиться своим опытом.



Читать дальше

Сигма-дельта АЦП

Сигма-дельта АЦП
структурная схема
Сигма-дельта АЦП состоит из двух частей: модулятор и цифровой ФНЧ.
Модулятор преобразует входное напряжение Uвх в последовательность импульсов, а ФНЧ формирует выходной код.


Читать дальше

Отладка по UART или встроенный GDB server

AVR
Хочу подробно описать в деталях и коде, как можно отлаживать AVR по UART, не прибегая к использованию внутрисхемной отладке по JTAG, не тратя лишние пины, а задействуя лишь UART, прерывания по таймеру и возможности самопрограммирования FLASH-памяти контроллера.
В этой статье речь пойдет о программной заглушке, которая будет приостанавливать выполнение основной программы, возвращать состояние процессора, читать и писать в память, короче, выполнять роль отладчика, исполняясь непосредственно на контроллере.

Я был оч удивлен, когда на просторах сети не нашел ни одного достойного решения для, казалось бы, нужной задачи, как отладка AVR по UART. На запрос «avr gdb stub» я получил пару куцих решений, которые уже давным давно не поддерживаются, несовместимы с текущей версией gdb и содержат ряд существенных недостатков: отсутсвие исполнения интрукций по шагам или же замедление исполнения отлаживаемой программы в сотни раз. Мне показалось, что это хороший шанс попытаться разобраться в теме и, возможно, улучшить существующие решения.



Читать дальше