Энтузиаст запустил ядро Linux на плате Arduino Uno. Чтобы адаптировать полновесный Linux 6.1 к чипу ATmega328p, он портировал эмулятор RISC-V на эту платформу. Установлен новый антирекорд: более 15 часов для загрузки.
Для многих далеко не секрет, что такие устройства как недельные термостаты помогают обеспечить оптимальную комнатную температуру в доме к тому же с экономией энергоресурсов, затрачиваемых на обогрев. Для корректной работы устройства его обычно размещают в самой дальней комнате, где наименьшая температура. Но большинство термостатов предполагают проводное подключение к котлу для управления и далеко не всегда есть возможность эти провода проложить. О решении подобной проблемы и пойдет речь в данной статье. Всем, кому интересно прошу под кат…
Умный дом, достаточно заезженная тема в наше время и в этой публикации я не буду рассказывать вам о новых технологиях, производителях и современных тенденциях данной темы, все написано до меня раз на сто. Я же постараюсь кратко описать процесс создания Умного дома(далее УД) без глубоких технических повествований. Если эта тема будет интересна читателям, я выложу полностью все листинги программ, прошивки МК, схемы и все необходимое, чтобы это чудо стало сердцем вашего дома.
Что может быть хуже костылей? Только неполно документированные костыли.
Перед вами скриншот из последней официальной интегрированной среды разработки для 8-битных микроконтроллеров AVR, Atmel Studio 7, язык программирования Си. Как видно из столбца Value, переменная my_array содержит число 0x8089. Другими словами, массив my_array располагается в памяти, начиная с адреса 0x8089.
В то же время столбец Type даёт нам несколько иную информацию: my_array является массивом из 4 элементов типа int16_t, расположенным в ПЗУ (это обозначается словом prog, в отличие от data для ОЗУ), начиная с адреса 0x18089. Стоп, но ведь 0x8089 != 0x18089. Какой же на самом деле адрес у массива?
Представим: купили вы новый камень для своего проекта, а он - зараза - не шьется! Все собрано правильно, программатор правильный - всё равно ошибка. Знакомо? Мне да.
Всем, кто занимается электроникой, так или иначе знакомы контроллеры AVR. Начинающим они знакомы, по большей части, за счёт экосистемы Arduino. В данной статье я попытаюсь рассказать начинающим программистам, как можно в Linux просто настроить VSCode для работы с контроллерари AVR и получить удобную навигацию по коду, приятную подсветку синтаксиса и прочие рабости, которые даёт VSCode. Это даст желающим возможность перейти от экосистемы Arduino к прямой работе с процессорами.
Всем привет! Решил подключить матрицу светодиодов 8х8 и вывести на неё решение задачи о 8 ферзях. [Описание см. на Википедии]
Процессор
В качестве процессора я выбрал компактный и шустрый процессор attiny85. Программа будет написана на ассемблере. С небольшими настройками программа должна работать на любом другом процессоре AVR: attiny и atmega.
Дисплей
В качестве дисплея используем матрицу светодиодов, которая состоит из 8 вертикальных рядов и 8 горизонтальных строк со светодиодами.
Пока наши соседи по цеху спорят о конкурентоспособности Эльбруса, я продолжаю идти к своей заветной цели — склепать свой собственный Отечественный Процессор (TM). Ранее я рассказывал про программу, финансируемую Google, которая позволяет энтузиастам бесплатно получить прототип их разработок в кремнии. Если вы хотите увидеть всю подноготную процесса производства современных чипов, то этот туториал точно для вас!
В этой статье мы поставим все необходимые инструменты для того, чтобы начать разработку микросхемы. Также мы установим Process Design Kit, про который мы говорили в предыдущей статье.
Напоминаю, что я продолжаю идти к цели — сделать свой собственный Отечественный Процессор (TM). Продолжение процесса разработки можно посмотреть под катом.
В прошлой статье мы установили все программы, а в этой части, мы наконец приступим к практической части. Готовьтесь, эта часть будет очень большой. Для тех кто пропустил прошлые части — ссылки ниже.
Как разработать микросхему, от идеи до результата. Ссылки на все статьи։
В прошлой статье мы сделали Layout, а в этой части мы проведём LVS/DRC/PEX и исправим ошибки из прошлой статьи. Для тех, кто пропустил прошлые части, вот ссылки на них.
Как разработать микросхему, от идеи до результата. Ссылки на все статьи։
Этот проект посвящен созданию простого частотомера, способного измерять частоту до 100МГц с точностью 0.002%. За основу я взял ATtiny414, задействовав при этом его таймер/счетчик TCD0 и систему событий.
Многие начинающие и не только ардуинщики столкнувшись с проблемой нехватки памяти и пинов бегут покупать более мощные Arduino MEGA / DUE. Всегда ли можно этого избежать? Как создать свой клон Arduino с прошивкой через USB?
Это проект по сборке простого маломощного AM-передатчика кода Морзе, позволяющего передавать сообщения, которые можно будет принимать на любом транзисторном радиоприемнике в средневолновом диапазоне. Этого диапазона вполне достаточно для передачи между комнатами в доме, и при этом нет риска пересечься с каналом радиовещания.
Всем привет. Довелось мне писать довольно большой проект на AVRках. Как известно у них не очень большие скорости 16 МГц, у тех же STM32 можно гнать 72МГц и выше. Но опыта на STM мало, по этому пока AVR. Так вот мне нужно было в проекте передавать данный по UART, посылки не большие 10-15 байт, скорость 9600. Если все это дело реализовать в основном цикле, то это очень сильно тормозит систему. А у меня помимо этого есть еще куча других задач. Единственный выход использовать прерывания. Посмотрел несколько примеров в интернете, некоторые из них сложные, другие я даже не понял как работают, и по итогу сделал как понимал, и теперь делюсь с вами.
И так в первую очередь нам необходимо сформировать то что хотим отправить, то есть получить буфер для отправки, не важно как sprintf или itoa. Допустим определим буфер:
Вот появилось желание написать небольшой проектик для себя с применением микроконтроллера. В CodeVisionAVR команды не подсвечиваются по Ctrl+Пробел, да и Си что-то начал забывать, вспоминать - лень... Конечно, вспомнить Си - это 10-30 минут, но лень... Поэтому, было решено начать проект в родной IDE Lazarus, она же кросс-компилируемая! Правда, понять, как включить avr в Lazarus, чтоб компилировался hex-файл ушло 3 дня :), поэтому пишу здесь, чтоб другие не мучались, а сразу пользовались.
Ну вот наконец добрался до Attiny85, все хотел чего-нибудь сделать на них. А тут коллеги решили с гальваническими покрытиями поиграться. Путем нехитрых доработок блок питания для светодиодных дисплеев на 5В 60А стал регулируемым. А вот контролировать такие токи нечем. Шунт на 75мВ при 50А в местных магазинах мы нашли, а вот головку к нему нет, а стоять считать чего там милливольты показывают на мультиметре- такое себе.