attiny817 twi manual

AVR

Как работать с TWI новых тинь?


К сожаленю, даташит на процессоры стеснительно умалчивает об этой мелочи. Немного описаны биты в регистрах, состояния интерфейса — и всё. Стартовые решения по этой теме тоже отсутствуют, в аппликешн нотах — гордо перемаркированные старые атмеловские аппноты, совершенно неподходящие к новой аппаратуре.
Наверное, в Микрочипе ждут, пока Горнист за них мануал напишет.

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

Реализация программного таймера. AVR.

Сначала я хотел написать статью об очередной реализации программных таймеров. Попутно хотел поднять одну тему и понял, что программные таймеры — составная часть это темы.
Тема касается организации программ, взаимодействия программных модулей и затрагивает автоматное программирование, то есть конечные автоматы.

В последнее время я крайне занят, поэтому буду добавлять материал по мере возможности.

Этот вариант реализации программных таймеров я использую в своих проектах уже несколько лет. До этого я перебрал кучу вариантов. Все они чем-нибудь да не устраивали. В конце концов я составил подробное ТЗ. Требования были следующие:

Системный тик 1 мс. 10 мс.
Однократный запуск.
Периодический запуск.
Отложенное исполнение.
Немедленное исполнение.

В итоге получилось следующее:


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

Машина времени для крошек.

AVR
При программировании микроконтроллеров часто требуется отслеживать временные промежутки. Даже банальное «помигать светодиодом» требует учета времени погашенного состояния и времени светимости.

В Си есть функция delay_ms(X), которая выполняет пустой цикл X ms, то есть по сути вешает проц на X*fcpu/1000 тактов, так как ничего иного в это время он делать не может.

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

Каждый выкручивается как может, например навешивает на один таймер несколько функций, использует биты счетчика как флаги, впрягает в нарты сторожевую собаку… вариаций много, но всегда новый проект означает новые выеживания, поиски решения в ограниченном пространстве.

Пройдя все эти стадии, я наконец-то дорос до понимания, что «что-то тут не так». Нарисовалась необходимость диспетчеризации задач по таймеру.
Прочитав AVR. Учебный Курс. Архитектура Программ Часть 2 в очередной раз убедился, что изобрел велосипед… ну и пусть, это просто еще один вариант решения.


Читать дальше
  • +2
  • 24 января 2018, 13:02
  • iva
  • 1

Среднечастотный частотомер на AVR. Часть 3, + милливольтметр.

  Это продолжение предыдущих частей "Часть1, динамическая индикация" и "Часть2, статическая индикация".
  В первой части я посетовал, что в ATmega8A при занятой памяти менее 10% почти не осталось свободных ножек. Во второй части я эту проблему решил с помощью внешнего контроллера дисплея. Осталось придумать, куда использовать освободившиеся ножки и неиспользованную память.
  Для измерительного генератора эти ресурсы могут быть применены при осовременивании схемы. Например замены переменного резистора настройки на инкрементальный энкодер, замены механических переключателей на управление реле или бесконтактными ключами и т.д. Это все индивидуально для каждой схемы. Но как правило измерительный генератор имеет регулируемый по напряжению выход. Контролировать уровень напряжения на нем также желательно. А у нас как раз остались незадействованными 6 каналов ADC (для PDIP, в корпусе TQFP их 8). Поэтому введем в программу второй канал измерения, измерять будем напряжение на входе ADC.


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

Среднечастотный частотомер на AVR. Часть 2, статическая индикация.

  В первой части статьи рассматривался вывод на дисплей с динамической индикацией. В этой будет рассмотрен вывод на дисплеи со статической индикацией. Как правило это достигается применением внешнего контроллера дисплея.


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

Операция "пучеглазка". (RGB LED Matrix Panels Test)

Доброго времени суток.


В данной заметке речь пойдёт о светодиодных панелях, используемых в рекламных вывесках и архитектурных ТВ экранах.
Вот примерно таких:


Самые распространённые варианты 16*32 пикселя 16*64, 32*32, 32*64. Есть ещё куча промежуточных вариантов. Также они отличаются размером диодов яркостью и исполнением корпуса.

Панели 256mm*128mm 64*32pixels с пикселем 4мм на диодах SMD2121 и ярокстью 1200CD/M2 стоят от 700р за панель и примерно 300р доставка до третьих стран(2018г).


Читать дальше
  • +6
  • 08 января 2018, 01:18
  • skelet
  • 3

Среднечастотный частотомер на AVR. Часть 1, динамическая индикация.

  Давно хотелось иметь функциональный генератор с приличными характеристиками и не фантастической сложностью. Поэтому на Ali был прикуплен чип XR-2206, поиском по инету найдена схема генератора — XR-2206 5Hz to 300kHz Function Generator. Конструкция достаточно хорошо проработана и описана.
  Собственно к схеме генератора претензий нет, некоторые вещи я бы сделал по другому, но это потом в процессе изготовления. Мне сразу не понравилась цифровая шкала генератора (там же, страница 2). Его программа представляет сборку из скетчей Arduino, я их не понимаю и не горю желанием изучать. Да и применение ATmega328 мне показалось неоправданно жирным. Короче решил спроектировать свою цифровую шкалу на ATmega8A. Результат представляю вашему вниманию, код написан на ассемблере AVR в среде AVR Studio 4.19.


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

Часы на светодиодной матрице.


Вступление.

Всем доброго времени суток! Хочу поделиться небольшой, но приятной мелочью — часами собственного дизайна :). Приближается Новый Год, а, значит, родным и близким можно сделать и подарить что-то интересное. Уже давно крутилась мысль подарить часы. Но не простые, а с какой-нибудь приятной мелочью. В итоге получились часы на светодиодной матрице. Требования были следующие:

Требования.

— Энергонезависимость. Часы не должны сбрасываться при отключении питания;
— Эстетичность. Должна присутствовать какая-никакая эстетика. Все-таки будут стоять на видном месте;
— Должна присутствовать некая изюминка. Это и будет приятной мелочью;
— Наличие нескольких будильников;
— Простота и надежность.


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

Простой контроллер освещения

Статью писал пол года назад на GeekTimes, может даже кто-то из сообщества ее читал. Переношу сюда для поддержания ресурса, плюс ко всему, возможно кому-нибудь из сообщества пригодиться концепция девайса. Как ни странно, на разработку этого устройства меня толкнули лень и дискомфорт. Каждый раз загоняя автомобиль в гараж, в темное время суток, постоянно приходилось искать заветную клавишу выключения света, что бы ориентироваться при выходе. В итоге начал обдумывать методы устранения данной проблемы. Первое что пришло на ум, готовый датчик движения, что применяется для уличного освещения. Но не захотел я легкого пути, решил изготовить самостоятельно. Начал прокручивать в голове различные решения на подобии измерителя поля на полевом транзисторе и антенне, ИК приемо-передатчиками в воротный проем и в итоге тернистый путь привел меня к широко известному PIR-датчику HC-SR50.



Читать дальше
  • +4
  • 14 июля 2017, 13:08
  • Jman
  • 1

SpriteMods.com топик-ссылка

Тут коллега Sprite выкладывает свои наработки. Некоторые весьма интересны и даже полезны. Ну и видео в конце каждой статейки.