Как подключить stm32 к компьютеру

Обновлено: 02.07.2024

Перейдите на страницу прошивки Nucleo, прокрутите страницу вниз и выберите ссылку Сначала установите драйвер ST-Link. Сохраните и разархивируйте файл в локальный каталог. Откройте драйвер STM32 Nucleo и установите его. Подключите доску Nucleo к компьютеру.

Как вы используете плату STM32 Nucleo?

Шаг 1. После установки запустите STM32CubeMX, затем выберите селектор платы доступа, чтобы выбрать плату STM32. Шаг 2: Теперь найдите плату по названию платы STM32, например NUCLEO-F030R8, и нажмите на плату, показанную на картинке. Если у вас есть другая доска, найдите ее соответствующее название.

Как прошить доску Nucleo?

Вы можете обновить доски Nucleo, просто скопировав образ mbed на запоминающее устройство, которое появляется при подключении к композитному интерфейсу USB. Файл образа автоматически записывается во флэш-память микроконтроллера интегрированным устройством STLink, когда файл помещается на USB-накопитель.

Что такое плата Nucleo 64?

Бренд: Краткое описание: Платы STM32 Nucleo-64 предоставляют пользователям доступный и гибкий способ опробовать новые концепции и создать прототипы с микроконтроллерами STM32, выбирая из различных комбинаций производительности, энергопотребления и функций.

Как подключить STM32 к компьютеру?

Что такое доски Nucleo?

Доступные по цене платы STM32 Nucleo позволяют любому опробовать новые идеи и быстро создать прототипы с любым микроконтроллером STM32. Платы STM32 Nucleo, использующие одни и те же разъемы Arduino и разъемы ST Morpho, могут быть легко расширены за счет большого количества специализированных аппаратных надстроек.

Что такое платы STM32 Nucleo?

Плата STM32 Nucleo предоставляет пользователям доступный и гибкий способ опробовать новые идеи и создать прототипы с любой линейкой микроконтроллеров STM32, выбирая из различных комбинаций производительности, энергопотребления и функций.

Есть ли у STM32 Wi-Fi?

Однако возможности Wi-Fi STM32 ограничены. Чтобы использовать Wi-Fi с STM32, вам потребуется добавить какой-либо модуль Wi-Fi/BT или SoC, который обрабатывает все беспроводные сети.

Что такое Nucleo 32?

Описание. Плата STM32 Nucleo-32 предоставляет пользователям доступный и гибкий способ опробовать новые концепции и создать прототипы, выбирая из различных комбинаций характеристик производительности и энергопотребления, предоставляемых микроконтроллером STM32.

Какова роль платы Nucleo L476RG?

NUCLEO-L476RG — это макетная плата STM32 Nucleo-64 с микроконтроллером STM32F410RB. Плата предоставляет пользователям гибкий способ опробовать новые идеи и создавать прототипы с любой линейкой микроконтроллеров STM32, выбирая из различных комбинаций производительности, энергопотребления и функций.

Что такое STM32F401RE?

STMicroelectronics STM32F401RE представляет собой ядро ​​— 32-разрядный процессор ARM Cortex-M4 с FPU — адаптивный ускоритель реального времени (ART Accelerator) — максимальная частота 84 МГц, 105 DMIPS/1,25 DMIPS/МГц — блок защиты памяти — инструкции DSP Память — до 512 Кбайт флэш-памяти — 96 Кбайт SRAM Часы, сброс и питание.

Как мне запрограммировать USB STM32?

Первый шаг — подключить плату STM32 Blue Pill к адаптеру USB-Serial, как показано на рисунке выше. Кроме того, на выводах BOOT0 установлен ВЫСОКИЙ уровень, т. е. плата переведена в режим программирования. Как только это будет сделано, вы можете подключить преобразователь USB к последовательному порту к ПК и проверить наличие COM-порта.

Что такое USB-UART?

Преобразователь USB в UART — это интегральная схема, используемая для отправки или приема последовательных данных из порта USB в последовательные данные, которые могут быть получены или отправлены через интерфейс UART. Эти типы интерфейсов обычно используются для связи с аппаратными периферийными устройствами в цифровых системах.

Как запрограммировать плату Nucleo с помощью Arduino IDE?

Быстрый запуск STM Nucleo в Arduino IDE Шаг 1. В Arduino IDE. Сначала откройте Arduino IDE. Шаг 2: Установка пакета. Теперь нажмите «Инструменты», нажмите «Доска», появится раскрывающееся меню. Шаг 3: Сопоставление контактов. Шаг 4: Пример мигания. 15 комментариев.

Как программировать STM32?

Чтобы запрограммировать STM32: создайте новый проект в STM32CubeIDE. в Target Selection Tool выберите соответствующий микроконтроллер или оценочную плату. дайте вашему проекту имя. в Device Configuration Tool инициализируйте все необходимые периферийные устройства. сгенерировать проект. завершите этот проект своим кодом.

Что такое STM32Cube?

STM32Cube – это сочетание программных инструментов и встроенных программных библиотек: блоки встроенного программного обеспечения, созданные для работы на микроконтроллерах и микропроцессорах STM32 и обеспечивающие различные функции (от драйверов компонентов MCU до более продвинутых функций, ориентированных на приложения).

Что такое синяя таблетка STM32?

STM32 Blue Pill — это высокопроизводительная макетная плата с множеством функций в небольшом форм-факторе. Он оснащен 32-разрядным процессором ARM Cortex M3 с частотой 72 МГц, 64 Кбайт флэш-памяти и 20 Кбайт SRAM.

Что такое микроконтроллер STM32?

STM32 — это семейство 32-разрядных интегральных схем для микроконтроллеров от STMicroelectronics. Внутри каждый микроконтроллер состоит из ядра процессора, статической оперативной памяти, флэш-памяти, интерфейса отладки и различных периферийных устройств.

Поддерживает ли STM32 Bluetooth?

Можно легко подключить к ПК или смартфону с помощью Bluetooth. Поддерживаемая скорость передачи: 9600, 19200, 38400, 57600, 115200, 230400, 460800.

Как мне подключить свой STM32 Bluetooth?

Сначала загрузите программу в STM32 Blue Pill, а затем выполните подключения в соответствии со схемой. Затем перейдите в настройки Bluetooth на смартфоне Android и подключите Bluetooth-модуль HC-05. При первом сопряжении будет запрашиваться булавка. В этом случае введите 1234 или 0000.

Как мне запрограммировать Arduino IDE stm32f401?

Установка надстройки STM32 в Arduino IDE В Arduino IDE выберите «Файл» > «Настройки». Выберите «Инструменты» > «Доска» > «Диспетчер досок». Найдите STM32, выберите последнюю версию и нажмите «Установить». В меню «Инструменты» > «Плата» > «Плата STM32» выберите «Универсальная серия STM32F4». Выберите Инструменты > Номер детали платы > BlackPill F411CE.

Что такое загрузчик STM32?

Что такое системный загрузчик? Системный загрузчик в STM32 — это загрузчик, предоставленный производителями чипов. Что мы не можем перезаписать, так как он загрузился в память ПЗУ. Мы также можем назвать это загрузчиком ПЗУ. Используя этот загрузчик, мы можем обновить прошивку или приложение из загрузчика.

Как вы питаете STM32?

Гибкие варианты питания — может питаться от +5 В и/или +3 В. v внешний разъем на коммутационной плате или через собственный USB-порт Blue Pill (потенциально также порт JTAG, только +3,3 В). Это позволяет использовать различные варианты источников питания для различных требований к источнику питания/току.

У меня есть STM32 f401RE. Я использую библиотеку Mbed для настройки подключения STM32 к ПК. Я хочу отправить через последовательный порт последовательность символов на плату. В качестве ответа я ожидаю мигающий светодиод. Например: светодиод 1 приводит к включению светодиода , светодиод 2 приводит к выключению светодиода .

Проблема в том, что я не знаю, как установить порт для подключения.

Вы можете использовать интерфейс USBSerial для эмуляции последовательного порта через USB. Вы можете использовать этот последовательный порт как дополнительный последовательный порт или как решение для отладки. Он также обеспечивает связь между Mbed и компьютером.

Я хотел бы сделать все вышеперечисленное (хотя я и не знаю, что эмулирует последовательный порт через USB. Что такое виртуальный USB?).

Я вижу, что конструктор USBSerial использует USBSerial (bool connect_blocking=true, uint16_t vendor_id=0x1f00, uint16_t product_id=0x2012, uint16_t product_release=0x0001). И я думаю, что мне нужно изменить некоторые из этих адресов. Проблема в том, что в Windows порты представлены в диспетчере устройств с помощью COMxx, а в Linux — как ttyACMxx. Как мне преобразовать это в шестнадцатеричные адреса - это то, что я должен сделать?

для этих плат я предпочитаю использовать Arduino, так как последовательная отладка уже реализована. См. эту ссылку о том, как настроить Arduino IDE: emcu.eu/2017/03/13/how-to-use-stm32-and-arduino-ide

Извините за мой вопрос, но использование Arduino на этих платах влияет на производительность stm32? Он работает полностью? В чем разница между использованием stm32 с arduino и использованием stm32 с использованием HALL и использованием stm32 с использованием Mbed?

Реализация stm32 на arduino в порядке и не сильно снизит производительность. Это отличная отправная точка для быстрого прототипирования. Вы также можете взглянуть на "Atollic TrueSTUDIO", он требует немного больше времени для настройки, но "построчная" отладка - это большой плюс!

3 ответа 3

Вам не нужно ничего преобразовывать или возиться с USB product_id или vendor_id , последовательный порт mbed должен отображаться как любой другой последовательный порт, поэтому, если это не для вас, это означает, что у вас проблемы с драйвером.

В большинстве последних дистрибутивов Linux устройство должно отображать что-то похожее на следующие сообщения ядра:

В Windows вам, вероятно, потребуется установить драйверы. После этого последовательный порт должен отображаться как mbed Serial Port (COMx) в диспетчере устройств. Есть много мест, где вы можете получить помощь по устранению неполадок, см., например, здесь.

Тот факт, что вы ничего не получаете ни в Windows, ни в Linux, заставляет задуматься, используете ли вы правильный кабель (некоторые USB-кабели работают только для зарядки и не годятся для ваших целей, а другие просто выходят из строя через некоторое время) . Я бы сначала убедился, что ваш кабель работает с другими устройствами (очевидно, не только для зарядки). Также существует вероятность того, что ваша плата вышла из строя (или пришла с завода), но это маловероятно.

STM32 Последовательный порт Интерфейс ПК USB-TTL UART Send Receive

В этой лабораторной работе мы будем выполнять взаимодействие с ПК через последовательный порт, используя преобразователь USB-TTL и модуль UART в микроконтроллере STM32F103C8 (Blue Pill Board). Мы будем отправлять и получать асинхронные данные UART с ПК и на него. Итак, приступим!

Необходимые компоненты для лабораторий

Предисловие и задачи лаборатории

Лаборатория по интерфейсу последовательного порта STM32

Предисловие

На плате разработки Blue Pill отсутствует встроенный программатор/отладчик ST-Link, в отличие от плат Nucleo. Вот почему мы используем внешний USB-клон ST-Link. Также стоит отметить, что USB-порт на синей таблетке подключен к аппаратному USB-периферийному устройству STM32F103C8. Таким образом, его действительно можно использовать для отладки, но вы разработаете для него USB-приложение, и это тема для будущего руководства.

Однако периферийные устройства UART в микроконтроллере можно использовать для отправки последовательных данных в последовательный COM-порт ПК и их отображения на терминале с помощью платы преобразователя USB-TTL. Следовательно, вы не ограничены в использовании определенного модуля UART (UART1, UART2 или UART3).


Схема подключения лаборатории

STM32 Последовательный порт USB-TTL Взаимодействие с ПК UART Отправка Пример приема

Код проекта LAB (шаг за шагом)

Шаг 1. Откройте CubeMX и создайте новый проект

Шаг 2: выберите целевой MCU и дважды щелкните его имя

 STM32 CubeMX Выберите шаг детали

Шаг 3. Включите модуль USART1 (асинхронный режим)

STM32 Nucleo Serial Port Print to PC Terminal1

Шаг 4. Выберите желаемые настройки для UART (скорость передачи, стоповые биты, контроль четности и т. д.)

  • PB12, PB13: выходные контакты (для светодиодов)
  • PB14: входной контакт (для кнопки)

Шаг 6. Перейдите на вкладку «Параметры RCC» и включите внешний кристалл

Как использовать последовательный порт STM32 Nucleo32 UART 1

Шаг 7. Перейдите к настройке часов и установите системные часы на 72 МГц

Часы STM32 Конфигурация дерева CubeMX

Шаг 8. Сгенерируйте код инициализации и откройте проект в CubeIDE

Программирование платы STM32F103 (Blue Pill) с использованием USB-порта

Отладочная плата STM32 с микроконтроллером STM32F103C8 становится все более популярной благодаря архитектуре ARM Cortex M3, высокой скорости работы и большему количеству периферийных устройств. Кроме того, поскольку эту плату можно легко запрограммировать с помощью Arduino IDE, она стала предпочтительным выбором для многих любителей и инженеров для быстрого прототипирования.

В нашем предыдущем уроке мы изучили основы макетной платы STM32, а также запрограммировали ее на мигание светодиодом. Но был у него один огромный недостаток. Чтобы запрограммировать плату, мы использовали модуль программатора FTDI, а также должны были переключать перемычку загрузки 0 между положениями 1 и 0 при загрузке и тестировании кода, что, безусловно, является сложной задачей. Также порт mini-USB на макетной плате остался совершенно неиспользованным. Причина этого в том, что при покупке отладочной платы STM32 она не поставляется с готовым загрузчиком Arduino, и, следовательно, плата не будет обнаружена вашим компьютером при подключении через USB.

Однако мы надеемся, что существует экспериментальный загрузчик, разработанный LeafLabs для миниплат Maple. Этот загрузчик можно прошить в STM32 один раз, после чего мы можем напрямую использовать USB-порт платы STM32 для загрузки программ, как и любые другие платы Arduino.Однако на момент написания этого руководства этот загрузчик все еще находился в стадии разработки и не рекомендуется для критически важных приложений. Прежде чем приступить к этому руководству, убедитесь, что вы прочитали предыдущее руководство, чтобы понять основы этой платы, включая подробности о спецификациях и выводах.

Необходимые материалы

  • STM32 — макетная плата (BluePill) (STM32F103C8)
  • Программист FTDI
  • Макет
  • Подключение проводов
  • Ноутбук с доступом в Интернет

Схема

Чтобы запрограммировать плату STM32 Blue Pill напрямую через USB-порт, нам нужно сначала прошить загрузчик Maple в MCU. Для этого нам нужно использовать плату Serial FTDI. Эта плата подключена к контактам Rx и Tx STM32, как показано ниже.

Вывод Vcc платы FTDI подключен к выводу STM32 5V питания платы. Земля подключена к земле STM32. Контакты Rx и Tx платы FTDI подключены к контактам A9 и A10 STM32 соответственно. Где A9 — это вывод Tx микроконтроллера STM32, а A10 — вывод Rx.

Убедитесь, что перемычка загрузки 0 на плате установлена ​​в положение 1 (режим программирования) во время загрузки загрузчика. После прошивки загрузчика этот контакт можно вернуть в исходное положение (рабочий режим).

Загрузка загрузчика Maple Boot на плату разработки STM32

После того, как мы установили указанное выше подключение, подключите плату FTDI к компьютеру и следуйте инструкциям, чтобы запустить загрузчик в STM32.

Шаг 1. Мы должны загрузить двоичные файлы программы загрузчика (bin-файл) со страницы github. Существует множество версий bin-файла, для платы Blue Pill используйте эту ссылку на github и нажмите кнопку загрузки, чтобы загрузить bin-файл.

Шаг 2: Затем нам нужно загрузить и установить программное обеспечение загрузчика STM Flash, чтобы прошить загруженный файл bin в STM32. Нажмите на эту ссылку, чтобы перейти на веб-сайт ST, прокрутите вниз и нажмите «Получить программное обеспечение»

Загрузите и установите программу загрузки STM Flash

Шаг 3: Чтобы загрузить программное обеспечение, вам необходимо ввести свой адрес электронной почты, и ссылка для скачивания будет отправлена ​​на ваш адрес электронной почты. Затем перейдите по ссылке обратно на веб-сайт и снова нажмите «Получить программное обеспечение», и загрузка начнется. Да, это немного расстраивает, но так и должно быть. Не забудьте проверить папку со спамом на наличие электронного письма, иногда письмо приходит через пару минут.

Шаг 4. После загрузки установите программное обеспечение, убедитесь, что плата STM32 подключена к компьютеру через плату FTDI, а затем запустите программное обеспечение. Программное обеспечение автоматически обнаружит COM-порт, если не использовать диспетчер устройств, и убедитесь, что вы выбрали правильный номер COM-порта. В моем случае это COM4. Остальные настройки оставьте такими, как показано ниже.

Выберите Com-порт с помощью Flash Loader Demonstrator

Шаг 5. Дважды нажмите кнопку «Далее», и программа снова автоматически обнаружит сведения о плате и отобразит их, как показано ниже. Мы используем плату STM32F1 с флэш-памятью 128 КБ.

Выберите устройство из целевого списка с помощью Flash Loader Demonstrator

Шаг 6. На следующем шаге выберите «Загрузить на устройство», перейдите в папку, в которую мы загрузили наш bin-файл на шаге 1, и выберите его. Нажмите «Далее».

Загрузить и Просмотр bin-файла

Шаг 7. Программное обеспечение загрузит необходимые файлы, как показано ниже, а затем начнет процесс прошивки.

Загрузить данные для микроконтроллера STM

Шаг 8. После успешного завершения прошивки вы увидите показанный ниже экран. Нажмите «Закрыть» и выйдите из приложения. Мы успешно прошили плату STM32 загрузчиком Arduino. Теперь нам нужно подготовить Arduino IDE и установить драйверы, прежде чем мы сможем запрограммировать плату STM32.

Успешно загружены данные для микроконтроллера STM

Подготовка Arduino IDE и установка драйверов

Выполните следующие шаги, чтобы загрузить и подготовить среду разработки Arduino для использования с платой разработки STM 32.

Шаг 1. Если вы еще не установили среду разработки Arduino IDE, загрузите и установите ее по этой ссылке. Убедитесь, что вы выбрали правильную операционную систему.

Шаг 2. После установки Arduino IDE откройте и загрузите необходимые пакеты для платы STM32. Это можно сделать, выбрав Файл -> Настройки.

Шаг 3. При нажатии на «Настройки» откроется показанное ниже диалоговое окно. В текстовом поле «Дополнительный URL-адрес менеджера досок» вставьте ссылку ниже

Выбрать предпочтение и добавьте URL

Шаг 4. Теперь перейдите в Инструменты -> Доски -> Диспетчер досок. Откроется диалоговое окно диспетчера плат, выполните поиск «STM32F1» и установите появившийся пакет.

Шаг 5. После установки пакета перейдите в папку C:\Program Files (x86)\Arduino\hardware\Arduino_STM32-master\drivers\win, где вы найдете install_drivers.bat и < em>install_STM_COM_drivers.bat.

Шаг 6. Нажмите на оба bat-файла и установите драйверы. Вы получите экран DOS, как показано ниже.

Установить драйверы используя файлы bat

Установить файлы bat

Теперь Arduino IDE подготовлена ​​для программирования макетной платы STM32 (Blue Pill), а также установлены драйвера.

Программирование STM32 (Blue Pill) напрямую через USB-порт

Удалите плату FTDI и все существующие соединения с вашего STM32. Просто используйте порт micro-USB на плате STM32, чтобы подключить ее к компьютеру, как показано ниже. Убедитесь, что контакт перемычки 0 снова установлен на 0 (рабочий режим). В дальнейшем нам больше не нужно переключать перемычку для загрузки и запуска программ.

Программирование STM32 (Blue Pill) напрямую через порт USB

Теперь ваш компьютер должен быть в состоянии обнаружить Доску. Подождите некоторое время, если вы видите, что какие-либо дополнительные драйверы устанавливаются. Затем войдите в Диспетчер устройств и проверьте, обнаружена ли ваша плата STM32 в разделе COM и портов, как показано ниже. Мой подключен к COM8 с именем Maple Mini.

Проверьте Maple Serial в диспетчере устройств

Перейдите в раздел Инструменты и прокрутите вниз, чтобы найти серию Generic STM32F103C, как показано ниже. Затем убедитесь, что выбран вариант Тип флэш-памяти 64k, скорость процессора 72 МГц, и измените метод загрузки на STM32duino Bootloader. Также выберите правильный COM-порт в соответствии с портом в диспетчере устройств.

Выберите STM3F103C из инструментов Arduino IDE

После внесения всех изменений проверьте нижний правый угол Arduino IDE, и вы увидите, что установлен следующий параметр. Моя плата STM32 подключена к COM8, но ваша может отличаться

 Проверьте нижнюю планку на предмет правильного соединения

Теперь Arduino IDE готова для программирования отладочных плат STM 32 Blue Pill. Давайте загрузим пример программы Blink из Arduino IDE на плату STM32 Blue Pill, чтобы убедиться, что все работает правильно. Пример программы можно найти по адресу

Открыть программу Blink из примера Arduino IDE

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

Код только внутри функции loop показан ниже, где мы можем заметить, что контакт PC13 остается в ВЫСОКОМ (включенном) состоянии в течение 1000 миллисекунд, а затем становится НИЗКИМ (выключается) еще на 1000 миллисекунд и это делается бесконечное количество раз, так как это находится в функции loop. Таким образом, светодиод мигает с интервалом в 1000 миллисекунд.

Нажмите кнопку загрузки в Arduino IDE, и ваша программа должна быть скомпилирована и загружена. Если все работает так, как ожидалось, вы должны увидеть следующее на консоли Arduino IDE.

Проверить консоль за выполненную загрузку

Если Программа была успешно загружена, вы должны увидеть, как зеленый светодиод мигает с интервалом в 1 секунду, как показано на видео ниже. Вы также можете повозиться с программой, чтобы увеличить или уменьшить задержку. Теперь вы можете начать использовать макетную плату STM32 (Blue Pill), как и любые другие платы Arduino, то есть вам больше не нужно менять положение перемычек или использовать внешнее оборудование для загрузки и тестирования программ.

STM32 как платы Arduino

Надеюсь, вы поняли руководство и сочли его полезным для начала работы с платой STM32. Если у вас есть какие-либо проблемы, оставьте их в разделе комментариев, а также скажите мне, какие проекты мы должны попробовать с этой платой STM32 в будущем.

Прежде чем вы начнете работать над пакетом поддержки для плат STMicroelectronics® Discovery™ и плат на базе процессоров STM32F4xx, вы должны сначала настроить свой компьютер для обнаружения платы STMicroelectronics Discovery или платы на основе процессора STM32F4xx.

Чтобы обнаружить пакет поддержки для платы STMicroelectronics Discovery:

Подключите плату STMicroelectronics Discovery к USB-порту вашего компьютера.

При подключении индикатор обнаружения платы STMicroelectronics Discovery начинает мигать, а затем останавливается, когда компьютер обнаруживает плату Discovery.

Плата STM32F4–Discovery показана на рисунке.


Плата STM32F746G-Discovery показана на рисунке.


Плата STM32F769I-Discovery показана на рисунке.


На странице STSW-LINK009 в разделе "Получить ПО" нажмите "Получить ПО". Загрузите zip-файл на свой компьютер и извлеките из него исполняемый файл установки драйвера. Этот шаг требует, чтобы у вас были учетные данные для входа на веб-страницу STSW-LINK009.

Чтобы установить программное обеспечение драйвера, вы можете использовать любой из следующих способов:

Дважды щелкните извлеченный исполняемый файл dpinst_amd64.exe и следуйте инструкциям по установке.

Щелкните правой кнопкой мыши «Диспетчер устройств» > «Другие устройства» > «Отладка ST-Link» и выберите «Обновить программное обеспечение драйвера». Выберите параметр «Просмотреть мой компьютер для поиска драйверов». В окне Обзор укажите путь к папке, которую вы разархивировали, например, C:\en.stsw-link009 .


После обнаружения драйвера вы увидите ключ STLink STMicroelectronics под устройствами универсальной последовательной шины, как показано на рисунке.

Читайте также: