cube32
This commit is contained in:
@@ -44,8 +44,10 @@
|
||||
ADC_HandleTypeDef hadc1;
|
||||
|
||||
I2S_HandleTypeDef hi2s4;
|
||||
DMA_HandleTypeDef hdma_spi4_tx;
|
||||
|
||||
SD_HandleTypeDef hsd;
|
||||
DMA_HandleTypeDef hdma_sdio;
|
||||
|
||||
SPI_HandleTypeDef hspi1;
|
||||
|
||||
@@ -65,6 +67,7 @@ static void MX_USART1_UART_Init(void);
|
||||
static void MX_I2S4_Init(void);
|
||||
static void MX_SPI1_Init(void);
|
||||
static void MX_USB_OTG_FS_HCD_Init(void);
|
||||
static void MX_DMA_Init(void);
|
||||
static void MX_ADC1_Init(void);
|
||||
/* USER CODE BEGIN PFP */
|
||||
|
||||
@@ -109,6 +112,7 @@ int main(void)
|
||||
MX_I2S4_Init();
|
||||
MX_SPI1_Init();
|
||||
MX_USB_OTG_FS_HCD_Init();
|
||||
MX_DMA_Init();
|
||||
MX_ADC1_Init();
|
||||
/* USER CODE BEGIN 2 */
|
||||
|
||||
@@ -384,6 +388,25 @@ static void MX_USB_OTG_FS_HCD_Init(void)
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Enable DMA controller clock
|
||||
*/
|
||||
static void MX_DMA_Init(void)
|
||||
{
|
||||
|
||||
/* DMA controller clock enable */
|
||||
__HAL_RCC_DMA2_CLK_ENABLE();
|
||||
|
||||
/* DMA interrupt init */
|
||||
/* DMA2_Stream1_IRQn interrupt configuration */
|
||||
HAL_NVIC_SetPriority(DMA2_Stream1_IRQn, 0, 0);
|
||||
HAL_NVIC_EnableIRQ(DMA2_Stream1_IRQn);
|
||||
/* DMA2_Stream3_IRQn interrupt configuration */
|
||||
HAL_NVIC_SetPriority(DMA2_Stream3_IRQn, 0, 0);
|
||||
HAL_NVIC_EnableIRQ(DMA2_Stream3_IRQn);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief GPIO Initialization Function
|
||||
* @param None
|
||||
|
||||
@@ -24,6 +24,9 @@
|
||||
/* USER CODE BEGIN Includes */
|
||||
|
||||
/* USER CODE END Includes */
|
||||
extern DMA_HandleTypeDef hdma_spi4_tx;
|
||||
|
||||
extern DMA_HandleTypeDef hdma_sdio;
|
||||
|
||||
/* Private typedef -----------------------------------------------------------*/
|
||||
/* USER CODE BEGIN TD */
|
||||
@@ -96,10 +99,10 @@ void HAL_ADC_MspInit(ADC_HandleTypeDef* hadc)
|
||||
|
||||
__HAL_RCC_GPIOA_CLK_ENABLE();
|
||||
/**ADC1 GPIO Configuration
|
||||
PA0-WKUP ------> ADC1_IN0
|
||||
PA2 ------> ADC1_IN2
|
||||
PA3 ------> ADC1_IN3
|
||||
*/
|
||||
GPIO_InitStruct.Pin = MEAS_VBATT_Pin|GPIO_PIN_3;
|
||||
GPIO_InitStruct.Pin = HALL_IN_Pin|MEAS_VBATT_Pin;
|
||||
GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
|
||||
GPIO_InitStruct.Pull = GPIO_NOPULL;
|
||||
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
|
||||
@@ -128,10 +131,10 @@ void HAL_ADC_MspDeInit(ADC_HandleTypeDef* hadc)
|
||||
__HAL_RCC_ADC1_CLK_DISABLE();
|
||||
|
||||
/**ADC1 GPIO Configuration
|
||||
PA0-WKUP ------> ADC1_IN0
|
||||
PA2 ------> ADC1_IN2
|
||||
PA3 ------> ADC1_IN3
|
||||
*/
|
||||
HAL_GPIO_DeInit(GPIOA, MEAS_VBATT_Pin|GPIO_PIN_3);
|
||||
HAL_GPIO_DeInit(GPIOA, HALL_IN_Pin|MEAS_VBATT_Pin);
|
||||
|
||||
/* USER CODE BEGIN ADC1_MspDeInit 1 */
|
||||
|
||||
@@ -190,6 +193,25 @@ void HAL_I2S_MspInit(I2S_HandleTypeDef* hi2s)
|
||||
GPIO_InitStruct.Alternate = GPIO_AF6_SPI4;
|
||||
HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
|
||||
|
||||
/* I2S4 DMA Init */
|
||||
/* SPI4_TX Init */
|
||||
hdma_spi4_tx.Instance = DMA2_Stream1;
|
||||
hdma_spi4_tx.Init.Channel = DMA_CHANNEL_4;
|
||||
hdma_spi4_tx.Init.Direction = DMA_MEMORY_TO_PERIPH;
|
||||
hdma_spi4_tx.Init.PeriphInc = DMA_PINC_DISABLE;
|
||||
hdma_spi4_tx.Init.MemInc = DMA_MINC_ENABLE;
|
||||
hdma_spi4_tx.Init.PeriphDataAlignment = DMA_PDATAALIGN_BYTE;
|
||||
hdma_spi4_tx.Init.MemDataAlignment = DMA_MDATAALIGN_BYTE;
|
||||
hdma_spi4_tx.Init.Mode = DMA_CIRCULAR;
|
||||
hdma_spi4_tx.Init.Priority = DMA_PRIORITY_LOW;
|
||||
hdma_spi4_tx.Init.FIFOMode = DMA_FIFOMODE_DISABLE;
|
||||
if (HAL_DMA_Init(&hdma_spi4_tx) != HAL_OK)
|
||||
{
|
||||
Error_Handler();
|
||||
}
|
||||
|
||||
__HAL_LINKDMA(hi2s,hdmatx,hdma_spi4_tx);
|
||||
|
||||
/* USER CODE BEGIN SPI4_MspInit 1 */
|
||||
|
||||
/* USER CODE END SPI4_MspInit 1 */
|
||||
@@ -222,6 +244,8 @@ void HAL_I2S_MspDeInit(I2S_HandleTypeDef* hi2s)
|
||||
|
||||
HAL_GPIO_DeInit(GPIOB, DAC_LRCLK_Pin|DAC_CLK_Pin);
|
||||
|
||||
/* I2S4 DMA DeInit */
|
||||
HAL_DMA_DeInit(hi2s->hdmatx);
|
||||
/* USER CODE BEGIN SPI4_MspDeInit 1 */
|
||||
|
||||
/* USER CODE END SPI4_MspDeInit 1 */
|
||||
@@ -270,6 +294,33 @@ void HAL_SD_MspInit(SD_HandleTypeDef* hsd)
|
||||
GPIO_InitStruct.Alternate = GPIO_AF12_SDIO;
|
||||
HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
|
||||
|
||||
/* SDIO DMA Init */
|
||||
/* SDIO Init */
|
||||
hdma_sdio.Instance = DMA2_Stream3;
|
||||
hdma_sdio.Init.Channel = DMA_CHANNEL_4;
|
||||
hdma_sdio.Init.Direction = DMA_PERIPH_TO_MEMORY;
|
||||
hdma_sdio.Init.PeriphInc = DMA_PINC_DISABLE;
|
||||
hdma_sdio.Init.MemInc = DMA_MINC_ENABLE;
|
||||
hdma_sdio.Init.PeriphDataAlignment = DMA_PDATAALIGN_WORD;
|
||||
hdma_sdio.Init.MemDataAlignment = DMA_MDATAALIGN_WORD;
|
||||
hdma_sdio.Init.Mode = DMA_PFCTRL;
|
||||
hdma_sdio.Init.Priority = DMA_PRIORITY_LOW;
|
||||
hdma_sdio.Init.FIFOMode = DMA_FIFOMODE_ENABLE;
|
||||
hdma_sdio.Init.FIFOThreshold = DMA_FIFO_THRESHOLD_FULL;
|
||||
hdma_sdio.Init.MemBurst = DMA_MBURST_INC4;
|
||||
hdma_sdio.Init.PeriphBurst = DMA_PBURST_INC4;
|
||||
if (HAL_DMA_Init(&hdma_sdio) != HAL_OK)
|
||||
{
|
||||
Error_Handler();
|
||||
}
|
||||
|
||||
/* Several peripheral DMA handle pointers point to the same DMA handle.
|
||||
Be aware that there is only one stream to perform all the requested DMAs. */
|
||||
/* Be sure to change transfer direction before calling
|
||||
HAL_SD_ReadBlocks_DMA or HAL_SD_WriteBlocks_DMA. */
|
||||
__HAL_LINKDMA(hsd,hdmarx,hdma_sdio);
|
||||
__HAL_LINKDMA(hsd,hdmatx,hdma_sdio);
|
||||
|
||||
/* USER CODE BEGIN SDIO_MspInit 1 */
|
||||
|
||||
/* USER CODE END SDIO_MspInit 1 */
|
||||
@@ -305,6 +356,9 @@ void HAL_SD_MspDeInit(SD_HandleTypeDef* hsd)
|
||||
|
||||
HAL_GPIO_DeInit(GPIOB, GPIO_PIN_15|GPIO_PIN_5|GPIO_PIN_7);
|
||||
|
||||
/* SDIO DMA DeInit */
|
||||
HAL_DMA_DeInit(hsd->hdmarx);
|
||||
HAL_DMA_DeInit(hsd->hdmatx);
|
||||
/* USER CODE BEGIN SDIO_MspDeInit 1 */
|
||||
|
||||
/* USER CODE END SDIO_MspDeInit 1 */
|
||||
@@ -409,25 +463,17 @@ void HAL_UART_MspInit(UART_HandleTypeDef* huart)
|
||||
__HAL_RCC_USART1_CLK_ENABLE();
|
||||
|
||||
__HAL_RCC_GPIOA_CLK_ENABLE();
|
||||
__HAL_RCC_GPIOB_CLK_ENABLE();
|
||||
/**USART1 GPIO Configuration
|
||||
PA10 ------> USART1_RX
|
||||
PB6 ------> USART1_TX
|
||||
PA15 ------> USART1_TX
|
||||
*/
|
||||
GPIO_InitStruct.Pin = GPIO_PIN_10;
|
||||
GPIO_InitStruct.Pin = GPIO_PIN_10|GPIO_PIN_15;
|
||||
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
|
||||
GPIO_InitStruct.Pull = GPIO_NOPULL;
|
||||
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
|
||||
GPIO_InitStruct.Alternate = GPIO_AF7_USART1;
|
||||
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
|
||||
|
||||
GPIO_InitStruct.Pin = GPIO_PIN_6;
|
||||
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
|
||||
GPIO_InitStruct.Pull = GPIO_NOPULL;
|
||||
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
|
||||
GPIO_InitStruct.Alternate = GPIO_AF7_USART1;
|
||||
HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
|
||||
|
||||
/* USER CODE BEGIN USART1_MspInit 1 */
|
||||
|
||||
/* USER CODE END USART1_MspInit 1 */
|
||||
@@ -453,11 +499,9 @@ void HAL_UART_MspDeInit(UART_HandleTypeDef* huart)
|
||||
|
||||
/**USART1 GPIO Configuration
|
||||
PA10 ------> USART1_RX
|
||||
PB6 ------> USART1_TX
|
||||
PA15 ------> USART1_TX
|
||||
*/
|
||||
HAL_GPIO_DeInit(GPIOA, GPIO_PIN_10);
|
||||
|
||||
HAL_GPIO_DeInit(GPIOB, GPIO_PIN_6);
|
||||
HAL_GPIO_DeInit(GPIOA, GPIO_PIN_10|GPIO_PIN_15);
|
||||
|
||||
/* USER CODE BEGIN USART1_MspDeInit 1 */
|
||||
|
||||
|
||||
@@ -56,7 +56,8 @@
|
||||
/* USER CODE END 0 */
|
||||
|
||||
/* External variables --------------------------------------------------------*/
|
||||
|
||||
extern DMA_HandleTypeDef hdma_spi4_tx;
|
||||
extern DMA_HandleTypeDef hdma_sdio;
|
||||
/* USER CODE BEGIN EV */
|
||||
|
||||
/* USER CODE END EV */
|
||||
@@ -199,6 +200,34 @@ void SysTick_Handler(void)
|
||||
/* please refer to the startup file (startup_stm32f4xx.s). */
|
||||
/******************************************************************************/
|
||||
|
||||
/**
|
||||
* @brief This function handles DMA2 stream1 global interrupt.
|
||||
*/
|
||||
void DMA2_Stream1_IRQHandler(void)
|
||||
{
|
||||
/* USER CODE BEGIN DMA2_Stream1_IRQn 0 */
|
||||
|
||||
/* USER CODE END DMA2_Stream1_IRQn 0 */
|
||||
HAL_DMA_IRQHandler(&hdma_spi4_tx);
|
||||
/* USER CODE BEGIN DMA2_Stream1_IRQn 1 */
|
||||
|
||||
/* USER CODE END DMA2_Stream1_IRQn 1 */
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief This function handles DMA2 stream3 global interrupt.
|
||||
*/
|
||||
void DMA2_Stream3_IRQHandler(void)
|
||||
{
|
||||
/* USER CODE BEGIN DMA2_Stream3_IRQn 0 */
|
||||
|
||||
/* USER CODE END DMA2_Stream3_IRQn 0 */
|
||||
HAL_DMA_IRQHandler(&hdma_sdio);
|
||||
/* USER CODE BEGIN DMA2_Stream3_IRQn 1 */
|
||||
|
||||
/* USER CODE END DMA2_Stream3_IRQn 1 */
|
||||
}
|
||||
|
||||
/* USER CODE BEGIN 1 */
|
||||
|
||||
/* USER CODE END 1 */
|
||||
|
||||
Reference in New Issue
Block a user