Module esp32s3_hal::otg_fs
source · Expand description
§USB OTG full-speed peripheral
§Overview
The USB OTG Full-speed peripheral driver provides support for the USB On-The-Go (OTG) full-speed functionality on ESP chips, allows communication with USB devices.
The driver uses the esp_synopsys_usb_otg crate, which provides the USB bus implementation and USB peripheral traits. It also relies on other
peripheral modules, such as GPIO, system, and clock control, to
configure and enable the USB peripheral.
To use the USB OTG Full-speed peripheral driver, you need to initialize the
peripheral and configure its settings. The USB struct represents the USB
peripheral and requires the implementation of the UsbSel, UsbDp, and
UsbDm traits, which define the specific types used for USB pin selection
and data pins.
The USB struct provides a new function for initialization.
Inside the new function, the into_ref! macro is used to convert the
peripheral references into PeripheralRef instances.
The USB struct implements the UsbPeripheral trait from the
esp_synopsys_usb_otg crate, which defines the required constants and
functions for USB peripheral operation. The trait implementation includes
enabling the USB peripheral, configuring the USB settings and connecting
the appropriate GPIO pins to the USB peripheral.
Structs§
- USB peripheral driver for STM32 microcontrollers.