Первая программа на К1986ВЕ92FI (MDR1211FI) на отладочной плате MDR32 Miluino
Настройка среды и платы
Для того, чтобы контроллер выполнял наши команды, его нужно запрограммировать. Для этого существуют различные среды, называемые IDE (Integrated development environment или Интегрированная среда разработки). В нашем случае будет использоваться среда Keil uVision 5 MDK-ARM от фирмы Keil. Данная среда предназначена для разработки встраиваемого программного обеспечения под микроконтроллеры с ядром ARM.
- Устанавливаем и запускаем среду Keil uVision 5
- Скачиваем библиотеки с официального сайта АО "ПКК Миландр" и устанавливаем их
- Выбираем в списке меню "Project" первую директиву: New uVision Project… и нажимаем на неё.
- В диалоговом окне «Select Device for Target» выбираем Milandr -> 1986ВЕ92 (MDR32F9Q2I)
- Далее в окне "Manage Run-Time Enviroment", ставим чек-боксы как показано на рисунке 1.

Рисунок 1. - Окно полключения библиотек
Кнопкой создать файл или через меню File->New создаем файл и сохраняем его с помощью команды Save As (сохранить как…) в папке проекта с расширением «.с», это например может быть «main.c» или «app.c».
После чего надо написать следующий код:
#include "MDR32Fx.h" // Device header
int main(void)
{
MDR_RST_CLK->PER_CLOCK |= (1 << 21); // Тактирование порта А
/* Скорость нарастания фронтов на А.1 PORT_PWR1_Msk прописан как аналог 0b0100 через директиву препроцессора в MDR32Fx.h*/
MDR_PORTA->PWR |= PORT_PWR1_Msk;
MDR_PORTA->ANALOG |= 0x02; // Цифровой режим работы А.1
MDR_PORTA->OE |= 0x02; // А.1 порта А настроен на выход
while(1)
{
for(int i = 0; i < 65535; i++);
MDR_PORTA->RXTX ^= 0x02; // Данные на А.1 порта А
//поочередное инвертирование 1-0-1-0...
}
} Подключаем плату к USB ПК, выполняем компиляцию и подготовливаем плату к прошивке.

Рисунок 2. - Выбор типа программатора.
Прошиваем код, следим за его выполнением. Если в настройках среды не установлен режим автоматической перезагрузки контроллера, то надо нажать на плате кнопку "RESET" и программа начнет выполнятся.
