STM32F030F4P6 Blink CubeMX.
В статье STM32F030F4P6 hand-made я показал как создать плату с микроконтроллером STM32F030F4P6 своими руками для разных простых проектов.
Давайте используя CubeMx и созданную плату напишем программу Blink. В этой программе мы будем включать и выключать порты микроконтроллера.
Для того чтобы использовать эту программу не обязательно создавать плату, как это сделал я - можно купить готовую - например такую.
Для программирования микроконтроллера (запись и отладка) я буду использовать один из самых популярных программаторов ST - LINK v2
Для отображения 1 бита информации - светодиод (сборка резистор + светодиод).
Итак приступим ..
Открываем CubeMX и выбираем микроконтроллер
Двигаясь по вкладкам - настраивает конфигурацию
Настраиваем все порты на выход
И добавляем выходам названия
В итоге получаем
Переходим во вкладку GPIO и проверяем
Переходим по вкладку выбора тактирования микроконтроллера от внешнего кварца
Переходим в Clock Configuration и настраиваем
1. В моем случае HSE 16 MHZ
После установки частоты работы микроконтроллера переходим во вкладку Project Manager - называем свой проект и место его хранения.
Все назвали, папки для хранения выбрали, выбрали среду разработки - жмем
Ожидаем - если вы еще не работали с этой серией микроконтроллеров - будет предложено скачать и установить необходимые библиотеки.
Выбираем Оpen Project и переходим в Keil.
Открывается окно программы Keil. Открываем main.c
Дополним main.c следующим содержимым в основном цикле программы while
**********************************************************************************
while (1)
{
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
HAL_GPIO_WritePin(GPIOA, PA5_Pin, GPIO_PIN_SET);
HAL_GPIO_WritePin(GPIOA, PA6_Pin, GPIO_PIN_SET);
HAL_GPIO_WritePin(GPIOA, PA7_Pin, GPIO_PIN_SET);
HAL_GPIO_WritePin(GPIOB, PB1_Pin, GPIO_PIN_SET);
HAL_GPIO_WritePin(GPIOA, PA4_Pin, GPIO_PIN_SET);
HAL_GPIO_WritePin(GPIOA, PA3_Pin, GPIO_PIN_SET);
HAL_GPIO_WritePin(GPIOA, PA2_Pin, GPIO_PIN_SET);
HAL_GPIO_WritePin(GPIOA, PA1_Pin, GPIO_PIN_SET);
HAL_GPIO_WritePin(GPIOA, PA0_Pin, GPIO_PIN_SET);
HAL_Delay(200);
HAL_GPIO_WritePin(GPIOA, PA5_Pin, GPIO_PIN_RESET);
HAL_GPIO_WritePin(GPIOA, PA6_Pin, GPIO_PIN_RESET);
HAL_GPIO_WritePin(GPIOA, PA7_Pin, GPIO_PIN_RESET);
HAL_GPIO_WritePin(GPIOB, PB1_Pin, GPIO_PIN_RESET);
HAL_GPIO_WritePin(GPIOA, PA4_Pin, GPIO_PIN_RESET);
HAL_GPIO_WritePin(GPIOA, PA3_Pin, GPIO_PIN_RESET);
HAL_GPIO_WritePin(GPIOA, PA2_Pin, GPIO_PIN_RESET);
HAL_GPIO_WritePin(GPIOA, PA1_Pin, GPIO_PIN_RESET);
HAL_GPIO_WritePin(GPIOA, PA0_Pin, GPIO_PIN_RESET);
HAL_Delay(200);
}
*********************************************************************************
Сохраняем проект
Собираем
Если все делалось по пунктам то результатом будет
Далее идем в настройки проекта и устанавливаем программатор и то как мы будем с ним работать
В открывшимся окне выбираем вкладку Debug
Выбираем в моем случае программатор
Переходим в Settings -> Flash Download и устанавливаем галки как на фото ниже
После установок - жмем Ok - Ok и выходим в основное окно Keil и загружаем созданную программу в микроконтроллер
Итогом что все прошилось будет
Отлично!
Дальше подключаем светодиод к любому из выходов микроконтроллера и на каждом из них светодиод будет зажигаться и гаснуть !!!
Идем и выбираем режим отладки
После того как откроются все окна необходимые для отладки программы в микроконтроллере - запускаем RUN
Ура у нас все получилось с первого раза!!!
- Войдите или зарегистрируйтесь, чтобы оставлять комментарии