|
楼主 |
发表于 2019-1-28 17:32:33
|
显示全部楼层
区别在于这个函数HAL_QSPI_MspInit
CubeMX原始生成:
- GPIO_InitTypeDef GPIO_InitStruct = {0};
- if(hqspi->Instance==QUADSPI)
- {
- /* USER CODE BEGIN QUADSPI_MspInit 0 */
- /* USER CODE END QUADSPI_MspInit 0 */
- /* Peripheral clock enable */
- __HAL_RCC_QSPI_CLK_ENABLE();
-
- __HAL_RCC_GPIOB_CLK_ENABLE();
- __HAL_RCC_GPIOE_CLK_ENABLE();
- __HAL_RCC_GPIOC_CLK_ENABLE();
- /**QUADSPI GPIO Configuration
- PB2 ------> QUADSPI_CLK
- PE7 ------> QUADSPI_BK2_IO0
- PE8 ------> QUADSPI_BK2_IO1
- PE9 ------> QUADSPI_BK2_IO2
- PE10 ------> QUADSPI_BK2_IO3
- PC11 ------> QUADSPI_BK2_NCS
- */
- GPIO_InitStruct.Pin = GPIO_PIN_2;
- GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
- GPIO_InitStruct.Pull = GPIO_NOPULL;
- GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
- GPIO_InitStruct.Alternate = GPIO_AF9_QUADSPI;
- HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
- GPIO_InitStruct.Pin = GPIO_PIN_7|GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10;
- GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
- GPIO_InitStruct.Pull = GPIO_NOPULL;
- GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
- GPIO_InitStruct.Alternate = GPIO_AF10_QUADSPI;
- HAL_GPIO_Init(GPIOE, &GPIO_InitStruct);
- GPIO_InitStruct.Pin = GPIO_PIN_11;
- GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
- GPIO_InitStruct.Pull = GPIO_NOPULL;
- GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
- GPIO_InitStruct.Alternate = GPIO_AF9_QUADSPI;
- HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
- /* USER CODE BEGIN QUADSPI_MspInit 1 */
- /* USER CODE END QUADSPI_MspInit 1 */
- }
复制代码
修改后的:
- GPIO_InitTypeDef GPIO_InitStruct = {0};
- if(hqspi->Instance==QUADSPI)
- {
- /*##-1- Enable peripherals and GPIO Clocks #################################*/
- /* Enable the QuadSPI memory interface clock */
- __HAL_RCC_QSPI_CLK_ENABLE();
- /* Reset the QuadSPI memory interface */
- __HAL_RCC_QSPI_FORCE_RESET();
- __HAL_RCC_QSPI_RELEASE_RESET();
- /* Enable GPIO clocks */
- __HAL_RCC_QSPI_CLK_ENABLE();
- __HAL_RCC_GPIOB_CLK_ENABLE();
- __HAL_RCC_GPIOC_CLK_ENABLE();
- __HAL_RCC_GPIOE_CLK_ENABLE();
- __HAL_RCC_GPIOF_CLK_ENABLE();
- /* Enable DMA clock */
- __HAL_RCC_MDMA_CLK_ENABLE();
-
- /*##-2- Configure peripheral GPIO ##########################################*/
- /**QUADSPI GPIO Configuration
- PB2 ------> QUADSPI_CLK
- PE7 ------> QUADSPI_BK2_IO0
- PE8 ------> QUADSPI_BK2_IO1
- PE9 ------> QUADSPI_BK2_IO2
- PE10 ------> QUADSPI_BK2_IO3
- PC11 ------> QUADSPI_BK2_NCS
- */
- GPIO_InitStruct.Pin = GPIO_PIN_2;
- GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
- GPIO_InitStruct.Pull = GPIO_NOPULL;
- GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
- GPIO_InitStruct.Alternate = GPIO_AF9_QUADSPI;
- HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
- GPIO_InitStruct.Pin = GPIO_PIN_7|GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10;
- GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
- GPIO_InitStruct.Pull = GPIO_NOPULL;
- GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
- GPIO_InitStruct.Alternate = GPIO_AF10_QUADSPI;
- HAL_GPIO_Init(GPIOE, &GPIO_InitStruct);
- GPIO_InitStruct.Pin = GPIO_PIN_11;
- GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
- GPIO_InitStruct.Pull = GPIO_PULLUP;
- GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
- GPIO_InitStruct.Alternate = GPIO_AF9_QUADSPI;
- HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
- /* USER CODE BEGIN QUADSPI_MspInit 1 */
- /* USER CODE END QUADSPI_MspInit 1 */
- }
复制代码
|
|