Плата STM32F407VET6

На китайском рынке широко представлена отладочная плата STM32F407VET6. Стоит порядка 17$. Помимо самой платы в комплект входят две перемычки для установки режима программирования, комплект из 10 проводов мама – мама и USB кабель для программирования платы. в данной статье так же рассмотрим подключение платы к компьютеру и зашьем первую программу мигания светодиодом. Вид платы представлен на рисунках ниже.

Отладочная плата STM32F407VET6 - вид сверху
Отладочная плата STM32F407VET6 – вид сверху
Отладочная плата STM32F407VET6 - вид c обратной стороны
Отладочная плата STM32F407VET6 – вид c обратной стороны

Обратите внимание на таблицу с обратной стороны платы. Она показывает в каком положении необходимо установить перемычки что бы запрограммировать плату или ее память. Без этого плата вообще не определиться.

MODEB0B1Комментарий
FLASH0XРаботает зашитая программа в контроллере
ISP10Работает режим прошивки микроконтроллера
SRAM11Работает режим прошивки микросхемы памяти
Таблица режимов платы STM32F407VET6

Схема STM32F407Vet6

Перед началом разработки рекомендуется изучить схему платы STM32F407VET6. Скачать ее можете по ссылке.

Так же для более комфортного изучения данного микроконтроллера скачайте DataSheet на данный МК: скачать.

Программирование STM32F407Vet6

Вот мы и дошли до разработки первой нашей программы. Так как это микроконтроллер ST, по этому я буду использовать программные средства от компании ST-Microelectronics. Это CUBEMX для настройки периферии, CubeIDE для разработки и компиляции кода и программу STM32CubeProgrammer для прошивки микроконтроллера.

Создание проекта в CubeMx, такое же как и в CubeIDE. Первым делом нам надо установить в настройках какой кварцевый генератор мы будем использовать. На плате установлен кварц частотой 8 МГц. Его мы и пропишем в CubeMX.

Настройка кварцевого резонатора в CubeMx для отладочной платы STM32F407Vet6

В поле High Speed Clock (HSE), необходимо выбрать Crystal/Ceramic Resonator. Этим мы указываем, что контроллер будет тактироваться от внешнего резонатора.

Далее в настройках RCC Parameter в поле HSI Calibration Value,изменить 16 на 8. Тем самым мы указываем что частота резонатора 8MHz.

Остальные параметры оставляем без изменений.

На вкладке GPIO настроим наш PIN, к которому подключен светодиод, на выход. Укажем первоначальное состояние 0 (LOW). Также назначим нашему пину говорящее имя, что бы потом проще было ориентироваться в программе. У нас это имя LED_A7.

Настройка пина на выход для управление светодиода

Вот и все, проект настроен. Теперь в вкладке Project Manager необходимо указать папку для сохранения проекта и IDE. Мы будем использовать CubeIDE. Далее нажимаем Gerate code.

Настройка нового проекта в CubeMX

ВНИМАНИЕ! При создании папки для проекта, убедитесь, что в пути к папке нет русских символов. Это правило относится как к CubeMX, так и к CubeIDE.

Запускаем CubeIDE и открываем сгенерированный проект. В файле main.c ищем функцию main и в бесконечном цикле пишем код:

/* USER CODE BEGIN WHILE */
  while (1)
  {
	 HAL_GPIO_WritePin(LED_A7_GPIO_Port, LED_A7_Pin, 1);
	 HAL_Delay(1000);
	 HAL_GPIO_WritePin(LED_A7_GPIO_Port, LED_A7_Pin, 0);
		 HAL_Delay(1000);
    /* USER CODE END WHILE */

    /* USER CODE BEGIN 3 */
  }

Здесь мы используем чистый HAL. Набор библиотек и функций для удобной работы с железом.

ВНИМАНИЕ! Размещать свой код необходимо между строчками комментария /* USER CODE BEGIN WHILE */ код /* USER CODE END WHILE */. Иначе при перекомпиляции в CubeMX ваш код будет удален.

Подключение stm32f407vet6

И так, теперь необходимо прошить нашу отладочную плату STM32F407VET6. Перед прошивкой установите перемычки из комплекта в режим ISP или FLASH. Запустите программу CubeProgramer.

Программа CubeProgramer для программирование STM32F407VET6.

Нажмите на плюс, что бы открыть прошивку. Нажмите кнопку Download и дождитесь загрузки. После этого отключите плату, снимете перемычки и подключите ее вновь, что бы подать питание на плату. Наблюдайте за миганием светодиода.

ВНИМАНИЕ! Чтобы воспользоваться отладчиком и проводить Debug к плате STM32F407VET6 необходимо подключить программатор VLINK. Без программатора код нельзя будет дебажить.

ВАЖНО! К сожалению есть такая особенность, что электрические схемы могут отличаться от платы к плате. Если у вас что то не работает, светодиод или кнопка, попробуйте прозвонить, что бы точно убедиться куда она подключена.

Демонстрация работы программы мигания светодиодом на отладочной палате STM32F407VET6

Документация

Где купить

  • Отладочная плата STM32F407VET6 на Алиэкспресс
5 1 голос
Рейтинг статьи
Подписаться
Уведомить о
guest
2 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
Василий
Василий
8 месяцев назад

HAL_ это не интересно!! Я сторонник CMSIS.