usb驱动
This commit is contained in:
1 parent
313fb91321
commit
c52f1f665f
22 files changed
+5601
-112
No files matched your search
+38
-1
@@ -57,6 +57,8 @@ UART_HandleTypeDef huart4;
|
||||
UART_HandleTypeDef huart1;
|
||||
UART_HandleTypeDef huart2;
|
||||
|
||||
HCD_HandleTypeDef hhcd_USB_OTG_FS;
|
||||
|
||||
SDRAM_HandleTypeDef hsdram1;
|
||||
|
||||
/* USER CODE BEGIN PV */
|
||||
@@ -78,6 +80,7 @@ static void MX_IWDG1_Init(void);
|
||||
static void MX_LTDC_Init(void);
|
||||
static void MX_UART4_Init(void);
|
||||
static void MX_DMA2D_Init(void);
|
||||
static void MX_USB_OTG_FS_HCD_Init(void);
|
||||
/* USER CODE BEGIN PFP */
|
||||
|
||||
/* USER CODE END PFP */
|
||||
@@ -140,6 +143,7 @@ __WEAK int main(void)
|
||||
MX_LTDC_Init();
|
||||
MX_UART4_Init();
|
||||
MX_DMA2D_Init();
|
||||
MX_USB_OTG_FS_HCD_Init();
|
||||
/* USER CODE BEGIN 2 */
|
||||
|
||||
/* USER CODE END 2 */
|
||||
@@ -177,10 +181,12 @@ void SystemClock_Config(void)
|
||||
/** Initializes the RCC Oscillators according to the specified parameters
|
||||
* in the RCC_OscInitTypeDef structure.
|
||||
*/
|
||||
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI|RCC_OSCILLATORTYPE_LSI;
|
||||
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI48|RCC_OSCILLATORTYPE_HSI
|
||||
|RCC_OSCILLATORTYPE_LSI;
|
||||
RCC_OscInitStruct.HSIState = RCC_HSI_DIV1;
|
||||
RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT;
|
||||
RCC_OscInitStruct.LSIState = RCC_LSI_ON;
|
||||
RCC_OscInitStruct.HSI48State = RCC_HSI48_ON;
|
||||
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
|
||||
RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI;
|
||||
RCC_OscInitStruct.PLL.PLLM = 4;
|
||||
@@ -638,6 +644,37 @@ static void MX_USART2_UART_Init(void)
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief USB_OTG_FS Initialization Function
|
||||
* @param None
|
||||
* @retval None
|
||||
*/
|
||||
static void MX_USB_OTG_FS_HCD_Init(void)
|
||||
{
|
||||
|
||||
/* USER CODE BEGIN USB_OTG_FS_Init 0 */
|
||||
|
||||
/* USER CODE END USB_OTG_FS_Init 0 */
|
||||
|
||||
/* USER CODE BEGIN USB_OTG_FS_Init 1 */
|
||||
|
||||
/* USER CODE END USB_OTG_FS_Init 1 */
|
||||
hhcd_USB_OTG_FS.Instance = USB_OTG_FS;
|
||||
hhcd_USB_OTG_FS.Init.Host_channels = 16;
|
||||
hhcd_USB_OTG_FS.Init.speed = HCD_SPEED_FULL;
|
||||
hhcd_USB_OTG_FS.Init.dma_enable = DISABLE;
|
||||
hhcd_USB_OTG_FS.Init.phy_itface = HCD_PHY_EMBEDDED;
|
||||
hhcd_USB_OTG_FS.Init.Sof_enable = DISABLE;
|
||||
if (HAL_HCD_Init(&hhcd_USB_OTG_FS) != HAL_OK)
|
||||
{
|
||||
Error_Handler();
|
||||
}
|
||||
/* USER CODE BEGIN USB_OTG_FS_Init 2 */
|
||||
|
||||
/* USER CODE END USB_OTG_FS_Init 2 */
|
||||
|
||||
}
|
||||
|
||||
/* FMC initialization function */
|
||||
static void MX_FMC_Init(void)
|
||||
{
|
||||
|
||||
@@ -127,8 +127,6 @@ void HAL_DMA2D_MspDeInit(DMA2D_HandleTypeDef* hdma2d)
|
||||
* @param hltdc: LTDC handle pointer
|
||||
* @retval None
|
||||
*/
|
||||
|
||||
|
||||
/**
|
||||
* @brief LTDC MSP De-Initialization
|
||||
* This function freeze the hardware resources used in this example
|
||||
@@ -672,6 +670,97 @@ void HAL_UART_MspDeInit(UART_HandleTypeDef* huart)
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief HCD MSP Initialization
|
||||
* This function configures the hardware resources used in this example
|
||||
* @param hhcd: HCD handle pointer
|
||||
* @retval None
|
||||
*/
|
||||
void HAL_HCD_MspInit(HCD_HandleTypeDef* hhcd)
|
||||
{
|
||||
GPIO_InitTypeDef GPIO_InitStruct = {0};
|
||||
RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
|
||||
if(hhcd->Instance==USB_OTG_FS)
|
||||
{
|
||||
/* USER CODE BEGIN USB_OTG_FS_MspInit 0 */
|
||||
|
||||
/* USER CODE END USB_OTG_FS_MspInit 0 */
|
||||
|
||||
/** Initializes the peripherals clock
|
||||
*/
|
||||
PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_USB;
|
||||
PeriphClkInitStruct.UsbClockSelection = RCC_USBCLKSOURCE_HSI48;
|
||||
if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
|
||||
{
|
||||
Error_Handler();
|
||||
}
|
||||
|
||||
/** Enable USB Voltage detector
|
||||
*/
|
||||
HAL_PWREx_EnableUSBVoltageDetector();
|
||||
|
||||
__HAL_RCC_GPIOA_CLK_ENABLE();
|
||||
/**USB_OTG_FS GPIO Configuration
|
||||
PA11 ------> USB_OTG_FS_DM
|
||||
PA12 ------> USB_OTG_FS_DP
|
||||
*/
|
||||
GPIO_InitStruct.Pin = GPIO_PIN_11|GPIO_PIN_12;
|
||||
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
|
||||
GPIO_InitStruct.Pull = GPIO_NOPULL;
|
||||
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
|
||||
GPIO_InitStruct.Alternate = GPIO_AF10_OTG1_FS;
|
||||
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
|
||||
|
||||
/* Peripheral clock enable */
|
||||
__HAL_RCC_USB_OTG_FS_CLK_ENABLE();
|
||||
/* USB_OTG_FS interrupt Init */
|
||||
HAL_NVIC_SetPriority(OTG_FS_EP1_OUT_IRQn, 0, 0);
|
||||
HAL_NVIC_EnableIRQ(OTG_FS_EP1_OUT_IRQn);
|
||||
HAL_NVIC_SetPriority(OTG_FS_EP1_IN_IRQn, 0, 0);
|
||||
HAL_NVIC_EnableIRQ(OTG_FS_EP1_IN_IRQn);
|
||||
HAL_NVIC_SetPriority(OTG_FS_IRQn, 0, 0);
|
||||
HAL_NVIC_EnableIRQ(OTG_FS_IRQn);
|
||||
/* USER CODE BEGIN USB_OTG_FS_MspInit 1 */
|
||||
|
||||
/* USER CODE END USB_OTG_FS_MspInit 1 */
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief HCD MSP De-Initialization
|
||||
* This function freeze the hardware resources used in this example
|
||||
* @param hhcd: HCD handle pointer
|
||||
* @retval None
|
||||
*/
|
||||
void HAL_HCD_MspDeInit(HCD_HandleTypeDef* hhcd)
|
||||
{
|
||||
if(hhcd->Instance==USB_OTG_FS)
|
||||
{
|
||||
/* USER CODE BEGIN USB_OTG_FS_MspDeInit 0 */
|
||||
|
||||
/* USER CODE END USB_OTG_FS_MspDeInit 0 */
|
||||
/* Peripheral clock disable */
|
||||
__HAL_RCC_USB_OTG_FS_CLK_DISABLE();
|
||||
|
||||
/**USB_OTG_FS GPIO Configuration
|
||||
PA11 ------> USB_OTG_FS_DM
|
||||
PA12 ------> USB_OTG_FS_DP
|
||||
*/
|
||||
HAL_GPIO_DeInit(GPIOA, GPIO_PIN_11|GPIO_PIN_12);
|
||||
|
||||
/* USB_OTG_FS interrupt DeInit */
|
||||
HAL_NVIC_DisableIRQ(OTG_FS_EP1_OUT_IRQn);
|
||||
HAL_NVIC_DisableIRQ(OTG_FS_EP1_IN_IRQn);
|
||||
HAL_NVIC_DisableIRQ(OTG_FS_IRQn);
|
||||
/* USER CODE BEGIN USB_OTG_FS_MspDeInit 1 */
|
||||
|
||||
/* USER CODE END USB_OTG_FS_MspDeInit 1 */
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
static uint32_t FMC_Initialized = 0;
|
||||
|
||||
static void HAL_FMC_MspInit(void){
|
||||
|
||||
@@ -58,6 +58,7 @@
|
||||
extern LTDC_HandleTypeDef hltdc;
|
||||
extern QSPI_HandleTypeDef hqspi;
|
||||
extern SD_HandleTypeDef hsd1;
|
||||
extern HCD_HandleTypeDef hhcd_USB_OTG_FS;
|
||||
/* USER CODE BEGIN EV */
|
||||
|
||||
/* USER CODE END EV */
|
||||
@@ -242,6 +243,48 @@ void QUADSPI_IRQHandler(void)
|
||||
/* USER CODE END QUADSPI_IRQn 1 */
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief This function handles USB On The Go FS End Point 1 Out global interrupt.
|
||||
*/
|
||||
void OTG_FS_EP1_OUT_IRQHandler(void)
|
||||
{
|
||||
/* USER CODE BEGIN OTG_FS_EP1_OUT_IRQn 0 */
|
||||
|
||||
/* USER CODE END OTG_FS_EP1_OUT_IRQn 0 */
|
||||
HAL_HCD_IRQHandler(&hhcd_USB_OTG_FS);
|
||||
/* USER CODE BEGIN OTG_FS_EP1_OUT_IRQn 1 */
|
||||
|
||||
/* USER CODE END OTG_FS_EP1_OUT_IRQn 1 */
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief This function handles USB On The Go FS End Point 1 In global interrupt.
|
||||
*/
|
||||
void OTG_FS_EP1_IN_IRQHandler(void)
|
||||
{
|
||||
/* USER CODE BEGIN OTG_FS_EP1_IN_IRQn 0 */
|
||||
|
||||
/* USER CODE END OTG_FS_EP1_IN_IRQn 0 */
|
||||
HAL_HCD_IRQHandler(&hhcd_USB_OTG_FS);
|
||||
/* USER CODE BEGIN OTG_FS_EP1_IN_IRQn 1 */
|
||||
|
||||
/* USER CODE END OTG_FS_EP1_IN_IRQn 1 */
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief This function handles USB On The Go FS global interrupt.
|
||||
*/
|
||||
void OTG_FS_IRQHandler(void)
|
||||
{
|
||||
/* USER CODE BEGIN OTG_FS_IRQn 0 */
|
||||
|
||||
/* USER CODE END OTG_FS_IRQn 0 */
|
||||
HAL_HCD_IRQHandler(&hhcd_USB_OTG_FS);
|
||||
/* USER CODE BEGIN OTG_FS_IRQn 1 */
|
||||
|
||||
/* USER CODE END OTG_FS_IRQn 1 */
|
||||
}
|
||||
|
||||
/* USER CODE BEGIN 1 */
|
||||
|
||||
/* USER CODE END 1 */
|
||||
Reference in new issue
Block a user