Articles

AVR. Урок 1 – Proteus

AVR. Урок 1 - Proteus. Начинаем серию уроков по программированию микроконтроллеров AVR в среде CodeVision AVR. Что нам понадобиться для их изучения: 1. Базовые знания программирования на C/C++. 2. Базовые знания в электронике и электротехнике. AVR — семейство восьмибитных микроконтроллеров фирмы Atmel. Год разработки — . Идея разработки нового RISC-ядра принадлежит двум студентам Norwegian University of Science and Technology (NTNU) из норвежского города Тронхейма — Альфу Богену (Alf-Egil Bogen) и Вегарду Воллену (Vegard ...
Read more

Старт ARM. Часы реального времени RTC. HAL

Доброе время суток, продолжаем изучать микроконтроллеры ARM stm32f4, сегодня речь пойдет о часах реального времени RTC, а поставим мы себе задачу по времени переключать светодиод и сделаем себе будильник по которому нехотя будем вставать утром. И как всегда мы это будет делать на HAL-е, и тут нас ждет 2 бага со стороны хала. Начнем по порядку: 1. RTC имеет Alarm A и Alarm B ...
Read more

Старт ARM. SPI интерфейс, часть 1-ая. HAL

Доброе время суток продолжаем серию статей про микроконтроллеры stm32f4, сегодня будем осваивать SPI протокол, а поможет нам в этом хорошая девайсина – гироскоп L3GD20. Что такое гироскоп – это датчик измеряющий изменение угла ориентации тела в пространстве (p.s. кого интересую построение беспилотных летательных аппаратов рекомендую почитать замечательную книгу по данной тематики автора Распопов В.Я – микросистемная авионика). Будем юзать данную девайсину на борде stm32f401C-disco ...
Read more

Старт ARM. Эта ужасная FLASH от STM32. HAL

Доброе время суток!) Продолжаем тему stm32f4, сегодня в нашем вооружении stm32f429i –disco и в качестве лабораторного зверька встроенная flash память, а точнее EEPROM. И что тут сказать «Надо высказать ФЕ-ФЕ-ФЕ st. Ребята, что вы делаете!!!». Так, а чем я… 1) Время стирания сектора от 1 до 3 сек. 2) Один байт в память(ПЗУ) будет записываться 30 мкс до 237.25 мс. 3) Читаем один байт ...
Read more

Старт ARM. Прерывания на STM32F429I-DISCO. HAL

Всем привет!) сегодня продолжаем покорять stm32f4, в данной статье будем юзать stm32f429ZI (его DISCO) и использовать прерывания микроконтроллера. В момент возникновения прерывания необходимо будет зажигать светодиод на борде (их 2). Начнем с начала. Настраиваем(конфигурируем) GPIO в void MX_GPIO_Init(void). /*Configure GPIO pin : PA0 */ GPIO_InitStruct.Pin = GPIO_PIN_0; GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING_FALLING; GPIO_InitStruct.Pull = GPIO_NOPULL; HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); PA0 - пин для пользовательской кнопки (user button) Прерывание ...
Read more

Старт ARM. STM32CubeMX. STM32 GPIO. HAL

Всем привет!) Продолжаем изучать ARM микроконтроллеры от компании ST, сегодня будем говорить, как можно быстро создать проект и включить светодиод не вдаваясь в глубокие познания архитектуры микроконтроллера. Для начала переходим по ссылке скачиваем программу STM32CubeMX и STM32CubeUpdater (один установочный пакет). Первая программа является генератором проектов, вторая является обновлением HAL-а для ST серии микроконтроллеров. 1. Запускам программу и создаем проект. 2. Выбираем микроконтроллер или борду ...
Read more

Старт ARM. Реализуем USB HID на STM32F4. Часть 2. HAL

Всем привет!) продолжаем работать с кастомным USB HID - ом, теперь на STM32F4 (STM32F4DISCOVERY). Будем юзать HAL, для начала необходимо скачать STM32CubeMX. После установки запускаем его (SMT32F4CubeMX - и обновляем его с помощью STM32CubeUpdater – необходимо скачать данную софтину), и создаем новый проект New Project, переходим во вкладку Board Selector и из приведенного списка выбираем Discovery STM32F4DISCOVERY STM32F407VG и нажимаем ОК. Алгоритм наших действий: ...
Read more

Старт ARM. Встроенная Flash.

Всем привет!) Продолжаем «мучать» ARM, сегодня речь пойдет про Flash. Адресное пространство Flash Имеем расширенный встроенный флэш-контроллер (EEFC), далее просто flash, имеет 32-разрядную внутреннею шину. Flash имеет 128-битный или 64-битный интерфейс памяти. Flash может программироваться, ее можно стирать, можно flash блокировать и разблокировать, flash используя полный набор команд. Одна из команд возвращает определение внедренного флэш дескриптора, который информирует систему об организации флэш, в результате ...
Read more

Старт ARM. Реализуем USB HID на SAM3U. Часть 1.

Всем привет!), сегодня речь пойдет об USB HID (основа Keil\ARM\Boards\...\...\HID). USB HID (human interface device) class — класс устройств USB для взаимодействия с человеком. Этот класс включает в себя такие устройства как клавиатура, мышь, игровой контроллер. Класс USB HID определен в нескольких документах, предоставляемых USB Implementers Forum, в частности, рабочей группой по работе с устройствами. Иногда всё-таки приходит время перехода с виртуальных com портов ...
Read more

Старт ARM. Работаем с UART-ом на SAM3N4C.

Всем привет!) Продолжаем изучать армы от атмел и сегодня поговорим про uart. UART (Universal Asynchronous Receiver-Transmitter - Универсальный асинхронный приёмопередатчик) работает аналогично RS-232, только на TTL уровне. Как организовать работа с этим интерфейсом на sam3n4c, для начала необходимо: 1. Разрешить PMC для clock pmc_enable_periph_clk(ID_UART0) или PMC->PMC_PCER0 = 1 << ID_UART0, UART0 имеет следующий адрес (0x400E0600U), информацию по регистрам uart-а можно найти в заголовочном файле ...
Read more

Старт ARM. Работа с графическим экраном SAM3N-EK. Часть 1-ая.

Всем привет!) Продолжаем серию уроков по программированию атмеловских АRМов. Сегодня речь пойдет о программирование и использовании графического экрана на борту отладочной платы sam3n-ek. На нашем evolution kitе стоит TFT экран TM020GDZ18 176x220 пикселей с интегрированным драйвером ILI9225B. Как всегда создаем новый проект с поддержкой ASF, ASF это фреймворк атмел для работы с микроконтроллерами, большое количество библиотек (p.s. совсем не джедайский путь). Работа с экраном ...
Read more

Костыли с J-link и stm32f4-discovery

В статье рассмотрим два костыля: работа с программатором J-link китайского производства и старт работы stm32f4-discovery. Начнем с первого костыля, китайский отладчик J-link (смотри рисунок снизу). С чего же началось, после зашивки программы на кристалл SAM3N4C, оставил отладчик подключенным usb порту, через час подхожу к компу смотрю, лампочка на отладчике потухла, попробовал прошить, тоже не получилось. Долго плевался, сразу подумывал поднять Atmel ICE (родной отладчик ...
Read more