top of page

Шаг №1. Работа с USB

Чтобы осуществлять работу с USB, используем библиотеку ub_msc_host_lib автора UB.

В данной библиотеке нас интересуют следующие файлы:

  • stm32_ub_usb_msc_host.c

  • stm32_ub_usb_msc_host.h

  • stm32_ub_fatfs.h

  • stm32_ub_fatfs.c

В проект необходимо целиком включить папки fatfs и usb_msc_host_lolevel.

  • fatfs - библиотека от Chan, позволяющая работать с файловой системой Fat.

  • usb_msc_host_lolevel - библиотека от stm, необходимая для работы с usb. Собственно UB в своей библиотеке ub_lib удобно написал функции инициализации usb-хоста и работы с файлами файловой системы fatfs.

Собственно функция ub_usb_msc_host_Init() осуществляет инициализацию usb-хоста.

Для корректной работы usb необходимо установить значения #define PLL_M 8 в файле system_stm32f4xx.c и #define hse_value ((uint32_t)8000000) в файле stm32f4xx.h.

Также очень удобна функция ub_usb_msc_host_do(). Она позволяет определить подключены ли устройства к usb - хосту.

Перечисление состояний usb-хоста можно найти в файле stm32_ub_usb_msc_host.h.

Еще нам необходима функция UB_Fatfs_Mount(USB_0). Она монтирует файловую систему fat и в качестве параметра принимает устройство. В нашем случае устройство определено библиотекой ub_lib - устройство USB_0.

И нам необходимо использовать системную функцию SystemInit() - инициализация тактирования системных генераторов тактовых частот.

5i7v6CR-CqU.jpg

bottom of page