вторник, 21 января 2020 г.

Радио на RDA5807M. Часть 2 - RDS

Радио на RDA5807M. Реализация RDS

RDS (Radio Data System) — многоцелевой стандарт, предназначенный для передачи информационных сообщений по каналам FM-радиовещания. Передача информации осуществляется с использованием поднесущей частоты и не оказывает влияния на качество основного сигнала и каналы других радиостанций, а для ее приема требуется устройство с поддержкой RDS. Наибольшее распространение эта технология получила в автомобильных приемниках: с ее помощью стало возможным оповещение водителей о сложных дорожных ситуациях, метеоусловиях и т.п.

пятница, 8 ноября 2019 г.

Радио на RDA5807M. Часть 1

RDA5807M Arduino

Микросхема RDA5807M - это FM радиоприемник нового поколения с поддержкой RDS/RBDS и цифровым управлением по I2C. Микросхема выполнена по CMOS технологии, что определяет ее минимальное энергопотребление. RDA5807M уже содержит все необходимые узлы и требует лишь небольшого числа внешних компонентов. А мощный аудиопроцессор обеспечивает оптимальное качество звука при различных условиях приема. Все это делает RDA5807M удачным выбором для носимых, портативных устройств.

воскресенье, 13 октября 2019 г.

Игральный кубик на ATtiny85

Игральный кубик на ATtiny85

В сегодняшней статье описание очередной моей поделки для сынишки - игрального кубика на ATtiny85. Это и хороший пример использования микроконтроллера серии tiny, и оригинальный атрибут для настольных игр. Плюс удовольствие от его изготовления. Кому интересно, прошу под кат.

понедельник, 24 июня 2019 г.

Немного кодокопания (прерывания, ISR, attachInterrupt)

В продолжение темы о прерываниях в AVR микроконтроллерах предлагаю покопаться в коде, генерируемом компилятором. Это поможет проверить на деле приведенный ранее теоретический материал, а также узнать новые интересные моменты. Для этого потребуется описанная в прошлой публикации доработка IDE Arduino для генерации ассемблерного листинга и справочник по языку ассемблера для AVR, доступный по ссылке http://ww1.microchip.com/downloads/en/devicedoc/atmel-0856-avr-instruction-set-manual.pdf. Итак, приступим.

вторник, 18 июня 2019 г.

Настройка IDE Arduino для генерации листинга на ассемблере

Порой возникает необходимость в изучении кода, генерируемого компилятором. Это помогает понять, что получается "на выходе" при использовании тех или иных функций, приемов, алгоритмов. Существуют специализированные инструменты - дизассемблеры, преобразующие машинный код в текст на языке ассемблера, но это в основном платные программы. Мне же в большинстве случаев вполне хватает результатов программы avr-objdump, которой и посвящена эта публикация.

четверг, 13 июня 2019 г.

Прерывания в Ардуино. Часть 2

Прерывания в Ардуино. Внешние прерывания, PCINT, WDT

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

вторник, 21 мая 2019 г.

Прерывания в Ардуино. Часть 1

Прерывания в Ардуино. Внешние прерывания

Долго я откладывал эту тему. И все-таки пора рассмотреть работу с прерываниями в Ардуино: что они из себя представляют, зачем нужны и как их использовать. Информации довольно много, поэтому в данной статье я расскажу о внешних прерываниях без углубления в теорию. А следующую публикацию посвящу более детальному рассмотрению системы прерываний AVR микроконтроллеров.