3. Схемы/таблицы электрических подключений, включая устанавливаемые джамперы
Таблица 1 – Схема электрическая подключений платы STM32F407ZET6
к программатору ST-Link V2
Номер контакта на разъеме JTAG/SWD платы STM32F407ZET6 |
Назначение |
Номер контакта на программаторе ST-Link V2 |
2 – 3.3V |
Напряжение питания 3.3 В |
8 – 3.3V |
4 – GND |
Общая шина питания |
4 – GND |
7 – TMS/SWDIO |
Сигнал SWDIO |
2 – SWDIO |
9 – TSK/SWCLK |
Сигнал SWCLK |
6 – SWCLK |
Таблица 2 – Джамперы, устанавливаемые на плате STM32F407ZET6
Номер джампера |
Первый контакт |
Второй контакт |
Назначение |
1 |
BOOT0 |
GND |
Прошивка микроконтроллера через внешний загрузчик |
4. Ход выполнения лабораторной работы
1. Создадим новый проект в STM32CubeMX. Используя MCU Selector, укажем используемый микроконтроллер - STM32F407ZET6.
2. Зададим пину 13 (это PF3 в соответствии со схемой микроконтроллера) следующую конфигурацию на вкладке GPIO:
GPIO otput level: High
GPIO mode: Output Push Pull
GPIO Pull-up/ Pull-down: No Pull-up and no Pull-down
Maximum output speed: Low
User Label: TAA_PG
Соответствующее окно STM32CubeMX представлено на рисунке 9.
Рисунок 9 – Конфигурация настроек пина PF3
Общий вид вкладки Pinout представлен на рисунке 10.
Рисунок 10 – Общий вид вкладки Pinout
Во вкладке RCC для High Speed Clock (HSE) установим Crystal/Ceramic Resonator. Соответствующее окно STMCubeMX32 представлено на рисунке 11.
Рисунок 11 – Вкладка RCC
Во вкладке SYS для Debug установим Serial Wire. Соответствующее окно STMCubeMX32 представлено на рисунке 12.
Рисунок 12 – Вкладка SYS
Во вкладке Clock Configuration установим Input frequency – 8 Мгц. Другие параметры Clock Configuration представлены на рисунке 13.
Рисунок 13 – Параметры Clock Configuration
Во вкладке Project дадим имя проекту LAB3_TAA, укажем путь к месту сохранения и выберем в графе Toolchain/IDE SW4STM32 (среду разработки).
Во вкладке Code Generator установим соответствующие настройки и нажмем Generate Code.
После генерации кода, нажмем кнопку Open Project, чтобы открыть код нашего проекта в System Workbench for STM32 – aC6 (SW4STM).
Между строк USER CODE BEGIN 3 и USER CODE END 3 допишем фрагмент кода, который и создаст на нашем пине PF3, выбранном выше, генератор прямоугольных импульсов с соответствующим периодом:
/* USER CODE BEGIN 3 */
HAL_GPIO_TogglePin (TAA_PG_GPIO_Port, TAA_PG_Pin);
HAL_Delay(130);
}
/* USER CODE END 3 */
или
/* USER CODE BEGIN 3 */
HAL_GPIO_TogglePin (GPIOF, GPIO_PIN_3);
HAL_Delay(130);
}
/* USER CODE END 3 */
Скелет программы с дописанным куском кода представлен на рисунке 14.
Рисунок 14 – Скелет программы с дописанным куском кода
Теперь выполним отладку и сборку (подготовку файла, пригодного для загрузки в микроконтроллер). Для этого нажмем Debug -> Debug Configuration и зададим параметры, указанные на рисунках 15 и 16, после чего нажмем Debug.
Рисунок 15 – Параметры отладчика, вкладка Main
Рисунок 16 – Параметры отладчика, вкладка Debugger
По завершению сборки и отладки будет сформирован двоичный файл LAB3_TAA.bin. Теперь нужно загрузить этот файл в микроконтроллер.
Подключим отладочную плату STM32F407ZET6 к компьютеру через программатор ST-Link V2 согласно таблице 1. Убедимся, что джампер на отладочной плате выставлен согласно таблице 2.
В меню File выберем файл LAB3_TAA.bin, находящийся в папке Debug проекта. Затем во вкладке Targrt выберем Program & Verify…, после чего произойдет загрузка кода в микроконтроллер. Внешний вид окна STM32 ST-Link Utility представлен на рисунке 17.
Рисунок 17 – Внешний вид окна STM32 ST-Link Utility
Для демонстрации результата работы программы, подключим осциллограф к пину PF3 и к земле и будем наблюдать генератор прямоугольных импульсов с заданным периодом в 130 мс. Фогография экрана осциллографа представлена на рисунке 18.
Рисунок 18 – Фотография экрана осциллографа
