STM32

Компилятор mikroC и STM32 Discovery.

stm32discovery 1Компилятор mikroC for ARM поддерживает широкий список микроконтроллеров STM32. Законченность и большой набор библиотек для периферийных устройств делают этот компилятор привлекательным для использования. Ниже будет показан пример настройки проекта в mikroC, позволяющий программировать процессор отладочной платы STM32 Discovery.

После запуска mikroC, вызывается мастера новых проектов, с помощью нажатия кнопки NewProject. В открывшемся окне следует перейти на первый шаг (Step 1), в котором задаются имя и папка проекта, тип процессора и его тактовая частота. Для используемой платы Discovery, выбирается STM32F100RB. Тактовая частота для примера равна 32МГц.

Создание нового проекта в mikroC
Создание нового проекта в mikroC

На втором шаге предлагается подключить пользовательские файлы к проекту. В данном случае в этом нет необходимости. Третий шаг позволяет выбрать используемые библиотеки периферийных устройств. Опять же для примера выбираются все, что задано по умолчанию. На четвертом, завершающем шаге, следует установить галочку в чекбокс, предлагающий открыть окно редактора проекта, где устанавливаются конфигурационные биты.

Окно EditProject позволяет настроить конфигурацию микроконтроллера. Для данного проекта потребуется в первую очередь установить внешний резонатор. Для этого в пункте Internal high-speed clock enable устанавливается OFF, а в External high-speed clock enable – HSE Oscillator ON. Также необходимо правильно задать частоту кварцевого резонатора, которая в данном случае для платы Discovery равна 8МГц. После выполнения всех этих действий компилятор готов к работе.

Кофигурирование процессора
Кофигурирование процессора

Последним шагом настройки становится конфигурирование программатора. Для этого запускается программа mikroProg for ARM. Следует открыть окно Options, где выбрать тип программатора ST-Link и тип интерфейса SWD. На этом настройка завершена. Можно проверить работу программатора, нажав на кнопку DetectMCU. Если отладочная плата подключена к ПК, то в окне mikroProg выведется информация о классе процессора. 

Окно программатора mikroProg
Окно программатора mikroProg

Для проверки работоспособности системы можно написать небольшую программу, мигающую светодиодами на плате STM32 Discovery. 

Тестовая программа Discovery

void main() {
GPIO_Digital_Output(&GPIOC_BASE, _GPIO_PINMASK_8); // Установка линии 8 порта С на вывод
GPIO_Digital_Output(&GPIOC_BASE, _GPIO_PINMASK_9); // Установка линии 8 порта С на вывод
GPIOC_ODR.B8 = 1; // Установка линии 8 порта С в единицу

while(1) {

GPIOC_ODR = ~GPIOC_ODR; // Инверсия PORTC
Delay_ms(1000); // Задержка 1 сек
}

}

Первые две строчки устанавливают линии 8 и 9 PORTC на вывод. Далее зажигается светодиод, подключенный к линии 8. В бесконечном цикле производится побитное инвертирование регистра PORTC и вызов задержки на 1 секунду. Результатом работы программы станет поочередное зажигание пользовательских светодиодов на плате STM32 Discovery.

 

You have no rights to post comments