Скачиваний:
5
Добавлен:
29.01.2021
Размер:
31.21 Кб
Скачать

ГУАП

КАФЕДРА № 43

ОТЧЕТ ЗАЩИЩЕН С ОЦЕНКОЙ

ПРЕПОДАВАТЕЛЬ

ассистент

К.А. Кочин

должность, уч. степень, звание

подпись, дата

инициалы, фамилия

ОТЧЕТ О ЛАБОРАТОРНОЙ РАБОТЕ

Создание первого проекта и знакомство со средой разработки

по курсу: ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ЦИФРОВОЙ ОБРАБОТКИ СИГНАЛОВ

РАБОТУ ВЫПОЛНИЛ

СТУДЕНТ ГР. №

4831М

подпись, дата

инициалы, фамилия

Санкт-Петербург 2019

Цель работы

Изучить процесс создания и настройки проекта в STM32CubeMX и Keil uVision v5 для отладочной платы STM32F3Discovery. Получить практические навыки работы с портами вывода, на примере управления светодиодами. Написать и отладить программу для проигрывания заданной анимации на светодиодах.

Задание

Создать программу, которая выполняет следующую последовательность действий:

  1. включить светодиоды LD10 м LD6, как показано на рисунке ;

Рисунок 1. Начальное состояние светодиодов

  1. циклически сдвинуть включенные светодиоды по часовой стрелке на 3 круга с задержкой между шагами в 100 мс;

  2. циклически сдвинуть включенные светодиоды против часовой стрелки на 6 кругов с задержкой между шагами в 50 мс;

  3. повторять шаги 1-3 до бесконечности.

Результаты выполнения лабораторной работы

В соответствии с заданием реализована программа для микроконтроллера STM32F3. Листинг кода, реализующего основную логику приведен ниже.

Фрагмент кода main.c.

int main(void)

{

// mcu configuration and initialization

HAL_Init();

SystemClock_Config();

MX_GPIO_Init();

// main logic

uint8_t ledMask = 0x05;

while (1) {

// mode 1

for (int i = 0; i < 24; i++) {

ledMask = (ledMask << 1) | (ledMask >> 7);

HAL_GPIO_WritePin(GPIOE, 0xFF00, GPIO_PIN_RESET);

HAL_GPIO_WritePin(GPIOE, ledMask << 8, GPIO_PIN_SET);

HAL_Delay(100);

}

// mode 2

for (int i = 0; i < 48; i++) {

ledMask = (ledMask >> 1) | (ledMask << 7);

HAL_GPIO_WritePin(GPIOE, 0xFF00, GPIO_PIN_RESET);

HAL_GPIO_WritePin(GPIOE, ledMask << 8, GPIO_PIN_SET);

HAL_Delay(50);

}

}

}

Выводы

В результате выполнения лабораторной работы был изучен процесс создания проекта в STM32CubeMX и Keil uVision v5 для микроконтроллеров STM32. Изучена базовая структура программы для микроконтроллера, и получены практические навыки работы с интерфейсами ввода/вывода общего назначения. Создана программа, формирующая светодиодную индикацию в соответствии с заданием.