Программирование STM32
STM32VLDISCOVERY – современный недорогой отладочный комплект для начала работы с популярным семейством микроконтроллеров STM32F1x на основе ядра ARM Cortex. Выполнение предварительных настроек. Кнопка подключения контроллера, процесс конвертации файлов.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | отчет по практике |
Язык | русский |
Дата добавления | 01.06.2024 |
Размер файла | 3,2 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Министерство науки и высшего образования Российской Федерации
Федеральное государственное бюджетное образовательное учреждение высшего образования
«Казанский национальный исследовательский технический университет им. А.Н. Туполева-КАИ» (КНИТУ-КАИ)
Институт (факультет) / филиал / отделение СПО
Отчет
по прохождению учебной практики «Программирование STM32»
Казань 2022
Описание
отладочный микроконтроллер конвертация файл
STM32VLDISCOVERY - недорогой отладочный комплект для начала работы с популярным семейством микроконтроллеров STM32F1x на основе ядра ARM Cortex - M3 от одного из мировых лидеров по производству электронных компонентов - STMicroelectronics. Отличительная особенность комплекта - полноценный инструментарий, включающий в себе оценочную плату, программатор, отладчик с поддержкой самых популярных программных средств разработки от таких фирм как IAR, Keil и Atollic.
Отладочный комплект STM32VLDISCOVERY прост в использовании и является оптимальным решением не только для изучения семейства микроконтроллеров STM32F1x, но также позиционируется как встраиваемый модуль.
В основе STM32VLDISCOVERY заложен 24МГц микроконтроллер STM32F100RBT6B Value Line с 8Кб SRAM, 128Кб flash, многофункциональными таймерами, аналоговой периферией и разнообразными последовательными интерфейсами обмена данных. Наличие встроенного программатора - отладчика ST-LINK позволяет начать разработку собственных приложений без дополнительных затрат. Сигналы встроенного ST-LINK выведены на внешний разъем, что позволяет в дальнейшем использовать STM32VLDISCOVERY в качестве программатора-отладчика для своих собственных разработок. На официальном сайте STMicroelectronics (http://www.st.com/internet/evalboard/product/250863.jsp) вы можете найти всю необходимую информацию по данному продукту - руководства, примеры программного обеспечения, документацию.
Характеристики:
Начинка микроконтроллера:
Микроконтроллер: STM32F100RBT6B c 32-битный ARM Cortex M3
Корпус: LQFP64
Тактовая частота: 24 МГц
Объём Flash-памяти: 128 КБ
Объём SRAM-памяти: 8 КБ
Портов ввода-вывода всего: 51
Портов толерантных к 5 В: 29
АЦП: 1Ч 12 битный на 16 каналов
ЦАП: 2Ч 12 битный
Таймеры ШИМ: 16
Аппаратные интерфейсы: 2Ч SPI, 2Ч IІC, 3Ч UART
Номинальное рабочее напряжение: 3,3 В
Максимальный ток с пина или на пин: 25 мА
Особенности платы:
Встроенный внутрисхемный отладчик/программатор ST-LINK
Возможность использования в качестве отдельного устройства ST-LINK
Четыре светодиода: два индикаторных и два пользовательских
Две кнопки: сброс программы и пользовательская
Регулятор напряжения с выходом 3,3 вольта и током до 800 мА
Габариты: 84,6Ч43,18 мм
Что интересного на плате: две перемычки CN3, в верхней части, справа от F103CBT6. Если они замкнуты, то отладчик работает с целевым контроллером на плате; если их разомкнуть, то можно подключать внешний контроллер к разъёму SWD (тут же, только слева).
Перемычка “ldd”, слева от целевого контроллера установлена в разрыв питания этого контроллера. Cняв её можно амперметром посмотреть потребление.
Работа с микроконтроллером
Для работы и прошивки с микроконтроллером STM32F100 потребуются следующие программы и документы:
STM32CubeMX
STM32CubeIDE
STM ST-LINK Utility
библеотека HAL
даташит на сам микроеконтроллер (STM32F411)
мануал на плату NUCLEO
При прошивке микроконтроллера необходимо сбрасывать (reset) его, чтобы при записи программы для вступления ее в силу.
Для подробной информации можно найти руководство пользования на сайте разработчика по данной плате. В этом же руководстве будет интересна скорее электрическая схема компонентов, где можно будет рассмотреть распиновку светодиодов.
Далее для работы микроконтроллера будем использовать библиотеку, а также руководство пользования (stm32f4xx hal).
Работа будет заключаться в управлении свтеодиода.
Первым делом запускаем программу CubeMX. Далее выбираем чип или же выбрать плату с которыми будем работать. В окне поиска подбираем наш микроконтроллер серии F4xx. Выбираем микроконтроллер, который может комплектоваться с платой NUCLEO-F411RE.
Кнопкой “start project” запускаем вкладку с микроконтроллером, на котором будет виден сам микроконтроллер, а также его выходы и настройки.
Разберем настройки микроконтроллера. Слева будет перечень настроек, нас пока будет интересовать настройка “System Core”, где можно увидеть настроенные пины (вкладка GPIO), к примеру, мы настроили пин “PA-5”, он будет гореть зеленым, после активации.
Пункт “GPIO output level” описывает уровень напряжение на данном выходе (3,3 В или 0В), чтобы засветить светодиод нужно выбрать High.
Перейдем ко пункту “sys”, здесь выберем отладчик (Serial Wire) (необязательно).
В пункте “RCC” можно настроить источники тактирования у высокоскоростной, и низкоскоростной шине, в настройках которых можно активировать пины для подключения внешнего кварцевого резонатора, но пока нам это не понадобится.
Для настройки тактирования микроконтроллера перейдем во вкладку “Clock Configuration”, после чего откроется схема. Микроконтроллер будет тактироваться от своей внутренней RC-цепи (в данном случае на 16 MHz). Частоту тактирования можно же изменить в блоке “HCLK (Mhz)” (максимальная частота будет 100 MHz).
Во вкладке “Project Manager” и пункте “Toolchain/IDE” выбираем среду в которой будем писать код, выбираем “STMCubeIDE”.
Для запуска программы нажимаем кнопку “GENERATE CODE”.
Затем генерация пройдет в программе “STMCubeIDE”.
Находим файл “main.c”, где будет код.
В нем же можно найти настройки тактирования:
void SystemClock_Config(void);
Настройки портов:
static void MX_GPIO_Init(void);
Пролистав ниже можно увидеть основные настройки:
** Initializes the RCC Oscillators according to the specified parameters
* in the RCC_OscInitTypeDef structure.
*/
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI;
RCC_OscInitStruct.HSIState = RCC_HSI_ON;
RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT;
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_NONE;
if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
{
Также функция main, в которой заполняются предварительные настройки int main (void), в которой заполняются предварительные настройки, например, возьмем GPIO init.
Для того чтобы выполнить предварительные настройки мы пишем код в “main”, если же нам необходимо чтобы что-то работало в цикле, то мы заходим в “while(1)”.
При работе, чтобы после пересборки не «потерять» код мы пишем перед комментариями, если код не нужен, то между комментариями:
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
В функции инициализации настроек:
static void MX_GPIO_Init(void)
находим:
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_5, GPIO_PIN_SET);
И копируем ее в раздел “while (1)”
В библиотеке для работы порта можно найти функцию:
HAL_Delay(1000);
В скобках будет указано время в мс
После этого светодиод будет светиться 1 секунду по очередно, так как больше нет команд.
Затем используем функции GPIO_PIN_SET и GPIO_PIN_RESET для того, чтобы установить пин порта или же очистить.
По итогу получится следующий код:
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_5, GPIO_PIN_SET);
HAL_Delay(1000);
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_5, GPIO_PIN_RESET);
HAL_Delay(1000);
Используемые функции:
Считывание пина - HAL_GPIO_ReadPin(GPIOx, GPIO_Pin)
Время срабатывания функции - HAL_Delay(1000);
Прошивка микроконтроллера
Для прошивки будет использоваться программа STM ST-LINK Utility.
Для этого нужно подготовить файл требуемого формата, а именно “hex”, компилируется он следующим образом:
В программе “STM32CubeIDE” во вкладке project найти пункт Properities, как указано на фото:
Затем в открывшемся окне настроек поставить галочку на пункт конвертации файлов “hex”, как указано на фото:
Открываем программу STM ST-LINK Utility, в открывшемся окне нажимаем кнопку подключения контроллера (при подключении нужно зажать кнопку reset, чтобы заморгал красный светодиод)
В окне появится код имеющийся прошивки, который нужно стереть командой “CTRL+E”, после чего прошивка примет следующий вид:
Затем нужно открыть тот самый файл “hex”, который при открытии отобразится в окне:
Командой “CTRL+P” произойдет прошивка микроконтроллера.
Размещено на Allbest.ru
Подобные документы
Методика создания и листинг недорогой многофункциональной охранной системы, отвечающей современным требованиям безопасности. Общая характеристика и сравнение отечественных однокристальных микроконтроллеров и микроконтроллеров фирм Atmel и Microchip.
дипломная работа [3,4 M], добавлен 28.09.2010Средства индикации, сигнализации, подключения. Датчики и исполнительные органы. Краткая характеристика технических средств и технологии отладки аппаратной и программной сред контроллера. Распределение адресного пространства. Алгоритм работы устройства.
курсовая работа [870,4 K], добавлен 16.01.2015Организация центрального процессора. Подключение интерфейсных программируемых БИС. Методы адресации и примеры команд. Программирование таймера и контроллера прерываний. Программная модель микропроцессорной системы. Программирование на языке ассемблера.
реферат [82,6 K], добавлен 05.12.2010Проектирование структуры и архитектуры программного продукта. Реализация программы конвертера файлов баз данных. Описание пользовательского интерфейса. Выбор порядка конвертации dbf файлов. Создание и исполнение шаблонов. Расчет себестоимости продукта.
дипломная работа [2,2 M], добавлен 21.06.2013Описание функциональной схемы интеллектуального контроллера. Сравнительная характеристика выбранных устройств. Параметры электронных элементов микроконтроллера. Схема подключения к управляющей системе. Общий алгоритм функционирования системы управления.
курсовая работа [757,2 K], добавлен 26.12.2012Архитектура микроконтроллеров AVR и PIC. Описание и структура регистров из области ввода/вывода. Внутренняя и внешняя память SRAM микроконтроллеров AVR. Особенности аналого-цифрового преобразования. Переключение в режим параллельного программирования.
лекция [755,2 K], добавлен 28.05.2010Особенности использования микроконтроллеров в различных изделиях. Создание максимально гибко настраиваемого контроллера температуры и влажности. Создание физической модели контроллера. Реализация удаленного управления микроконтроллера через сеть Wi-Fi.
курсовая работа [3,8 M], добавлен 04.02.2021Графические обозначения символов, применяемые при составлении схем алгоритмов. Оформление текстовых документов. Описание вычислительных методов алгоритмизации и программирования задач. Ручной просчет отладочного варианта. Машинное тестирование программы.
курсовая работа [178,2 K], добавлен 01.06.2014Сущность отладки, условия ее выполнения. Ошибки при компиляции программы, создание и изменение исходных символьных файлов. Процесс преобразования кода в машинный. Первый программист, виды трансляторов, классификация и уровни языков программирования.
тест [7,6 K], добавлен 21.04.2009Особенности управляющих микроконтроллеров. Разработка контроллера для реализации комплекса сбора информации, рассчитанного на фиксирование данных в оперативно-запоминающем устройстве и одновременную передачу её по GSM-каналу в виде SMS-сообщения.
курсовая работа [1019,3 K], добавлен 26.12.2012