скрытое меню

STM32CubeMX стартуем здесь

 STM32CubeMX стартуем здесь

Что важно понимать

Идеалогия разработки от STM такова :

В STM32 Cube MX делаем настройку всей периферии и подготавливаем готовый проект для разных сред разработки.

Далее пишем свой код между тегами :

/* USER CODE BEGIN 1 */
            
            здесь ваш код

	/* USER CODE END 1 */

Потом можно опять изменить настройку периферии через CubeMX заново сгенерировать все в тот же проект, но ваш код между тэгами сохранится.

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

Далее немного подробнее

Сначала устанавливаем конфигуратор нашего микроконтроллера STM32CubeMX (www.st.com)

STM32CubeMX – конфигуратор для микроконтроллеров STMicroelectronics от фирмы создателя этих чипов. Суть его в том , что под каждый ваш контроллер он подготавливает исходники (библиотеки), которые содержат большую часть рутинного кода. Надо только грамотно этим кодом воспользоваться.

Далее мы добавляем необходимый нам функционал (поддержка USB, таймеры , ...) , генерируем код (под конкретную среду разработки) и получаем для данной среды уже готовый проект с набором *.с,*.h файлов.

фотка 1

В первый раз после 6-7 часов тыканья по кнопкам получается такой вариант:

    В STM32CubeMX, см. картинку:
  • сначала Peripherals:
  • выбираем USB (Device FS)
  • выбираем UART2 ( на всякий случай, может понадобиться)
  • на нашей плате отчетливо виден кварц 8MHz - выбираем RCC / High speed clock (HSE)= Crystal/Ceramic Resonator и вуаля - засветились RCC_OSC_IN(OUT) , 5 и 6 пины соответственно - как на схеме.
  • также виден часовой кварц 32KHz - выбираем RCC / Low speed clock (HSE)= Crystal/Ceramic Resonator и вуаля - засветились RCC_OSC32_IN(OUT) , 3 и 4 пины соответственно тоже см. как на схеме.
  • в MiddleWares \ USB_DEVICE \ Class For FS IP выбираем HID

STM32CubeMX закладка Clock Configuration: тут все автоматом CubeMX сам расставил корректно. Clock Configuration у нас такой получается:

фотка 2

Файлы для скачивания

1.STLink-RCC-PIN13 [zip]
простейший пример. Включен внешний кварц (RCC). И мигаем всетодиодом.

2.STLink-RCC-PIN13-USBHID [zip]
Добавляем поддержку USB. Видим в системе Unknown USB device.Добавляем поддержку USB. Видим в системе Unknown Device. VID_0000PID_0000

3.STLink-RCC-PIN13-USBHID_2 [zip]
3333