Рейтинг
38.98
голосов: 40
avatar

AVR

О блоге

Описание ядра и периферии контроллеров AVR. Все, что касается работы с AVR семейством.

Администраторы (1)

Модераторы (0)

Модераторов здесь не замечено

Читатели (271)

dcoder vvzvlad ploop hexFF foxit _YS_ Vasil Tabke XANDER marvin_yorke Ultrin WildCat hexanaft zb3k Vga Alatar t0x193n mzw Reverb tda2030

Все читатели блога

SD/MMC и DataFlash-SPI ридер для 5V TTL MCU

AVR
Плата для SD/MMC карт, совмещенная с NOR/DataFlash(SPI), использованная в AtMega1284p/644p и W5500 Ethernet.
Коротко о схеме:
  • Конвертер уровней TTL/LVTTL выполнен на IC HEF4050BT/CD74HC4050(предпочтительнее это)
  • SPI-Flash IC подходят: M25P08/25LC256-512-1024/25AA02E48(Microchip OUI MAC GEN)
  • CDI — детектор наличия карты. Логический «0» на выходе при вставленной SD/MMC-карте, и наоборот «1» при отсутствии карты (как правило у китайских плат с AliExpress эта линия не разведена).
  • Протестировано и используется совместно с M644_breakout_v1.2d
  • Совместима с любыми 5V-толерантными MCU: AVR MEGA/Arduino, PIC16/18, STM8 и тд…


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

AtMega1284p/644p и W5500 Ethernet

AVR

Множество тестовых примеров использующих ATMEGA 1284p/644p и Ethernet контроллер W5500.

Собственно выкладываю ссылку на «распатроненный» мной Ethernet-стек для дешевого Ethernet контроллера на Wiznet 5500 SPI: m1284p_wiz5500
Основано на примерах для W5500 EVB (LCP13xx + W5500). Не Arduino С-код, довольно серьезно модифицировано(по причинам различий в архитектуре процессоров ARM и AtMega, a также немалого количества багов в коде приложений для W5500 EVB). Собиралось при помощи Eclipse Kepler с плагином AVR-Eclipse и тулчейном avr-gcc 4.9.2 (посредством самописного Makefile, думаю тоже соберется при желании).


Читать дальше
  • +6
  • 10 апреля 2019, 23:25
  • maxxir
  • 1

Печатная плата под AtMega 8535/16/32/644/1284

AVR
Мой вариант печатной платы под AtMEGA 16/32/644/1284 (TQFP-44 0.8mm).
Оригинал разводился еще в древнем Eagle 5.6.0.
Было интересно, получится ли провести экспорт в KiCad 5.xx.
И да — все прошло на удивление гладко, герберы успешно сгенерированы, и приняты на производство PCBWAY.


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

Таймеры и задержки: сборник рецептов

AVR
Увидел в статье DI HALT "Простой программный таймер для конечных автоматов" некий кусок кода и решил накатать статью…

bool MainTimerIsExpired(const uint32_t Timer)                      // ???
{                                                                  // ???
   if ((TimeMs - Timer) < (1UL << 31)) return (Timer <= TimeMs);   // ???
   return false;                                                   // ???
}                                                                  // ???

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


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

attiny817 twi manual

AVR

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


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

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

Program Stick

AVR
programstick view
Для чего он нужен? PgmStik это простой и дешевый «одноразовый» программатор для AVR.

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

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

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

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

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

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

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


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

Первые впечатления от tiny817

AVR

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

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

Modbus RTU для AVR на Assembler. часть2

AVR
Ну так сказать «дембельский аккорд по АВРам» часть2. Если что то начало можно глянуть здесь



Читать дальше
  • +2
  • 16 августа 2016, 15:25
  • deses
  • 2

Modbus RTU для AVR на Assembler. часть1

AVR
Понадобилось мне недавно разобраться с Модбасом. А точнее освоить подключение панели оператора к Меге.
Приглашаю всех желающих посмотреть мою реализацию такого решения


Читать дальше
  • +3
  • 02 августа 2016, 22:27
  • deses