STM32 в качестве клавиатуры

Я хотел бы использовать STM32F105xx для создания собственной компьютерной клавиатуры. Этот MCU поддерживает USB OTG (FS). Итак, у меня есть 2 вопроса:

  1. Можно ли прошить микроконтроллер через usb или мне нужен внешний программист?
  2. Как заставить компьютер распознавать stm32 как клавиатуру?

, 👍0

Обсуждение

https://arduino.stackexchange.com/tour, @Juraj


1 ответ


Лучший ответ:

3

Серия STM32F105xx еще не поддерживается ни ядром Arduino (ядром STM32, ни ядро maple), а не mbed-os .

Чип по-прежнему можно использовать с платформой STM32HAL, предоставленной STM32 (например, через STM32CubeMX). Там вы можете выбрать свой чип и создать шаблон проекта. Программа позволяет легко настроить чип для роли "USB-устройство" и класса HID (Human-Interface-Device).

cumbemx]

Обратите внимание, что с аппаратной стороны вы должны снабдить микросхему внешним кварцевым генератором (обычно 8 МГц), чтобы HSE+PLL могла генерировать тактовую частоту USB 48 МГц. Это не будет работать на внутренних часах HSI из-за низкой точности. Активируйте HSE Crystal в разделе RCC CubeMX и перейдите на вкладку настройки часов.

С этого момента вам нужно будет прочитать документация STM32F1 HAL, чтобы выяснить, как отправлять нажатия клавиш. Также есть внешние ресурсы здесь и здесь.

Возможно программирование платы через USB. Просто установите контакты BOOT0 и BOOT1 соответственно и перезагрузите плату, чтобы войти в режим загрузчика. Затем он появится как USB-устройство, которое можно прошить с помощью данных инструментов. См., например, здесь. Более прямой способ — купить дешевый STLinkv2 и запрограммировать его через контакты SWD (SWDIO + SWCLK), что также позволяет выполнять отладку, чего нельзя сделать при перепрошивке через USB.

,