Как я уже несколько раз упоминал в прошлых статьях, я один из разработчиков сервиса All Hardware, через который любой желающий может удалённо поработать с различными отладочными платами, которые туда выкладывают производители микроконтроллеров. По умолчанию, в каждую плату загружено типовое демонстрационное приложение. Проект для самостоятельной сборки этого приложения можно скачать, чтобы начать опыты не с чистого листа. Всё бы ничего, но разные пользователи предпочитают разные среды разработки. Всё многообразие, разумеется, охватить невозможно, но хотя бы Eclipse, а значит, вообще GNU (в случае STM32 — это скорее спецсборка STM32 Cube IDE) и Keil c IAR — стоит. Собственно, мне было поручено произвести хоть какую-то унификацию демонстрационных проектов для плат STM32. В статье я расскажу сначала, как быть простому пользователю, который зашёл на сервис и скачал пример. Что нужно сделать, чтобы собрать его. Ну, а уже затем, будет немножко мемуаров, обосновывающих выбранное решение, а также просто описывающих впечатления о работе.
Alex @Alews
Пользователь
Низкоуровневое программирование микроконтроллеров tinyAVR 0-series
7 мин
20KПеревод
Вы — 8-битный или 32-битный программист? Мы, в компании OMZLO, сосредоточили основные усилия на новых 32-битных ARM Cortex-чипах (STM32 и SAMD), которые, в сравнении с более старыми 8-битными микроконтроллерами (Micro Controller Unit, MCU) обычно предлагают больше RAM, более высокую производительность, поддержку большего количества периферийных устройств. И всё это — за ту же, или за более низкую цену. Но 8-битные MCU ещё не утратили своей актуальности. В частности, компания Microchip выпустила новую серию чипов, «tinyAVR 0-series», которые, в сравнении с AVR-чипами, выпущенными ранее, дают возможность работать с более современной периферией. Новые чипы, при этом, отличаются весьма привлекательной ценой. Возникает такое ощущение, что эти чипы отлично подойдут для разработки простых устройств, которым не нужны те возможности, что предлагают более новые 32-битные MCU. 8-битные микроконтроллеры, кроме того, значительно легче программировать, что приводит к увеличению скорости разработки программной части устройств, создаваемых на их основе.
Благодаря успеху Arduino UNO в интернете можно найти множество руководств, разъясняющих особенности программирования 8-битных микроконтроллеров ATmega328 и их собратьев вроде ATtiny85. Речь идёт о прямом доступе к регистрам без использования языка программирования, используемого для Arduino, и без применения IDE, созданных производителями чипов, вроде Atmel Studio. Чтобы в этом убедиться — просто поищите в Google по словам «atmega328 blinky». Для программирования микроконтроллеров вам понадобится лишь C-компилятор для AVR, текстовой редактор, avrdude и AVR-программатор. На некоторых ресурсах даже можно найти руководства, посвящённые тому, как, пользуясь универсальными макетными платами, «завести» ATmega328. Правда, если говорить о более новых чипах tinyAVR 0-series, по ним найти информацию такого рода непросто.
+56
Подключение OLED дисплея ssd1306 к STM32 (SPI+DMA)
7 мин
29KВ данной статье будет описан процесс подключение oled дисплея с контроллером ssd1306 разрешением 128x64 к микроконтроллеру stm32f103C8T6 по интерфейсу SPI. Также мне хотелось добиться максимальной скорости обновления дисплея, поэтому целесообразно использовать DMA, а программирование микроконтроллера производить с помощью библиотеки CMSIS.
Подключать дисплей к микроконтроллеру будем по интерфейсу SPI1 по следующей схеме:
Передача данных происходит по возрастающему фронту сигнала синхронизации по 1 байту за кадр. Линии SCK и SDA служат для передачи данных по интерфейсу SPI, RES — перезагружает контроллер дисплея при низком логическом уровне, CS отвечает за выбор устройства на шине SPI при низком логическом уровне, DS определяет тип данных (команда — 1/данные — 0) которые передаются дисплею. Так как с дисплея ничего считать нельзя, вывод MISO использовать не будем.
Подключение
Подключать дисплей к микроконтроллеру будем по интерфейсу SPI1 по следующей схеме:
- VDD-> +3.3В
- GND-> Земля
- SCK -> PA5
- SDA -> PA7(MOSI)
- RES-> PA1
- CS-> PA2
- DS-> PA3
Передача данных происходит по возрастающему фронту сигнала синхронизации по 1 байту за кадр. Линии SCK и SDA служат для передачи данных по интерфейсу SPI, RES — перезагружает контроллер дисплея при низком логическом уровне, CS отвечает за выбор устройства на шине SPI при низком логическом уровне, DS определяет тип данных (команда — 1/данные — 0) которые передаются дисплею. Так как с дисплея ничего считать нельзя, вывод MISO использовать не будем.
+38
Программирование устройств на основе модуля ESP32
26 мин
207KМикроконтроллер — это интегральная схема, способная выполнять программы. Сегодня на рынке представлено множество таких моделей от самых разных производителей. Цены на эти устройства продолжают падать. Однокристальные чипы находят широкое применение в самых разнообразных сферах: от измерительных приборов до изделий развлечений и всевозможной домашней техники. В отличие от персональных компьютеров микроконтроллер сочетает в одном кристалле функции процессора и периферийных устройств, содержит оперативную память и постоянное запоминающее устройство в для хранения кода и данных, однако обладает значительно мешьшими вычислительными ресурсами. ESP32 — это микроконтроллер, разработанный компанией Espressif Systems. ESP32 представляет собой систему на кристалле с интегрированным Wi-Fi и Bluetooth контроллерами. В серии ESP32 используется ядро Tensilica Xtensa LX6. Платы с ESP32 обладают хорошей вычислительной способностью, развитой периферией и при этом весьма популярны ввиду низкой цены в диапазоне 7$ – 14$: Aliexpress, Amazon.
+28
Вскрытие трафика в публичных сетях
9 мин
71KЭта статья о том, как стать кулхацкером (или по-английски Script Kiddie) — условным злоумышленником, который испытывает недостаток знаний в области программирования и использует существующее программное обеспечение, чтобы провести атаку на смартфоны и планшеты своих одноклассников.
Шучу. На самом деле передо мной стояла задача понять две вещи:
- Насколько опасно пользоваться публичным WiFi в 2020 году, в мире где господствуют браузеры и сайты с повсеместно победившими технологиями HTTPS (на основе TLS 1.1+) и HSTS
- Сможет ли человек моего уровня знаний (не самого высокого) “залезть” в чужой браузер и стащить ценные данные.
Спойлер
А в спойлере спойлер:
- Да, Опасно!
- Вполне сможет
+62
Делаем станцию мониторинга загрязнённости воздуха в домашних условиях
6 мин
30KВ этой статье я расскажу о том, как собрать датчик загрязнённости воздуха в домашних условиях и зачем это нужно.
+31
Информация
- В рейтинге
- Не участвует
- Откуда
- Саров (Нижегородская обл.), Нижегородская обл., Россия
- Дата рождения
- Зарегистрирован
- Активность