Src/main.c
/**
  * @brief GPIO Initialization Function
  * @param None
  * @retval None
  */
@brief GPIO Initialization Function
@param None
@retval None
@brief GPIO Initialization Function @param None @retval None
static void MX_GPIO_Init(void)
{
  GPIO_InitTypeDef GPIO_InitStruct = {0};
  __HAL_RCC_GPIOA_CLK_ENABLE();
  __HAL_RCC_GPIOB_CLK_ENABLE();
  HAL_GPIO_WritePin(GPIOA, MCU_INT_Pin|A111_ENABLE_Pin, GPIO_PIN_RESET);
  HAL_GPIO_WritePin(GPIOB, A111_CS_N_Pin|A111_CTRL_Pin|PS_ENABLE_Pin, GPIO_PIN_RESET);
  HAL_GPIO_WritePin(PMU_ENABLE_GPIO_Port, PMU_ENABLE_Pin, GPIO_PIN_SET);
  GPIO_InitStruct.Pin = MISC_GPIO2_Pin|MISC_GPIO0_Pin;
  GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
  GPIO_InitStruct.Pull = GPIO_PULLDOWN;
  HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
  GPIO_InitStruct.Pin = MCU_INT_Pin;
  GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
  GPIO_InitStruct.Pull = GPIO_NOPULL;
  GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
  HAL_GPIO_Init(MCU_INT_GPIO_Port, &GPIO_InitStruct);
  GPIO_InitStruct.Pin = A111_CS_N_Pin|PMU_ENABLE_Pin|PS_ENABLE_Pin;
  GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
  GPIO_InitStruct.Pull = GPIO_NOPULL;
  GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
  HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
  GPIO_InitStruct.Pin = I2C_ADDRESS_Pin|MISC_GPIO1_Pin;
  GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
  GPIO_InitStruct.Pull = GPIO_PULLDOWN;
  HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
  GPIO_InitStruct.Pin = A111_ENABLE_Pin;
  GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
  GPIO_InitStruct.Pull = GPIO_NOPULL;
  GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
  HAL_GPIO_Init(A111_ENABLE_GPIO_Port, &GPIO_InitStruct);
  GPIO_InitStruct.Pin = A111_SENSOR_INTERRUPT_Pin;
  GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING;
  GPIO_InitStruct.Pull = GPIO_NOPULL;
  HAL_GPIO_Init(A111_SENSOR_INTERRUPT_GPIO_Port, &GPIO_InitStruct);
  GPIO_InitStruct.Pin = A111_CTRL_Pin;
  GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
  GPIO_InitStruct.Pull = GPIO_NOPULL;
  GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
  HAL_GPIO_Init(A111_CTRL_GPIO_Port, &GPIO_InitStruct);
  GPIO_InitStruct.Pin = WAKE_UP_Pin;
  GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING_FALLING;
  GPIO_InitStruct.Pull = GPIO_PULLDOWN;
  HAL_GPIO_Init(WAKE_UP_GPIO_Port, &GPIO_InitStruct);
  HAL_NVIC_SetPriority(EXTI2_3_IRQn, 0, 0);
  HAL_NVIC_EnableIRQ(EXTI2_3_IRQn);
  HAL_NVIC_SetPriority(EXTI4_15_IRQn, 0, 0);
  HAL_NVIC_EnableIRQ(EXTI4_15_IRQn);
}
static void MX_GPIO_Init ( void ) { GPIO_InitTypeDef GPIO_InitStruct = { 0 } ; __HAL_RCC_GPIOA_CLK_ENABLE ( ) ; __HAL_RCC_GPIOB_CLK_ENABLE ( ) ; HAL_GPIO_WritePin ( GPIOA , MCU_INT_Pin | A111_ENABLE_Pin , GPIO_PIN_RESET ) ; HAL_GPIO_WritePin ( GPIOB , A111_CS_N_Pin | A111_CTRL_Pin | PS_ENABLE_Pin , GPIO_PIN_RESET ) ; HAL_GPIO_WritePin ( PMU_ENABLE_GPIO_Port , PMU_ENABLE_Pin , GPIO_PIN_SET ) ; GPIO_InitStruct . Pin = MISC_GPIO2_Pin | MISC_GPIO0_Pin ; GPIO_InitStruct . Mode = GPIO_MODE_INPUT ; GPIO_InitStruct . Pull = GPIO_PULLDOWN ; HAL_GPIO_Init ( GPIOA , & GPIO_InitStruct ) ; GPIO_InitStruct . Pin = MCU_INT_Pin ; GPIO_InitStruct . Mode = GPIO_MODE_OUTPUT_PP ; GPIO_InitStruct . Pull = GPIO_NOPULL ; GPIO_InitStruct . Speed = GPIO_SPEED_FREQ_VERY_HIGH ; HAL_GPIO_Init ( MCU_INT_GPIO_Port , & GPIO_InitStruct ) ; GPIO_InitStruct . Pin = A111_CS_N_Pin | PMU_ENABLE_Pin | PS_ENABLE_Pin ; GPIO_InitStruct . Mode = GPIO_MODE_OUTPUT_PP ; GPIO_InitStruct . Pull = GPIO_NOPULL ; GPIO_InitStruct . Speed = GPIO_SPEED_FREQ_LOW ; HAL_GPIO_Init ( GPIOB , & GPIO_InitStruct ) ; GPIO_InitStruct . Pin = I2C_ADDRESS_Pin | MISC_GPIO1_Pin ; GPIO_InitStruct . Mode = GPIO_MODE_INPUT ; GPIO_InitStruct . Pull = GPIO_PULLDOWN ; HAL_GPIO_Init ( GPIOB , & GPIO_InitStruct ) ; GPIO_InitStruct . Pin = A111_ENABLE_Pin ; GPIO_InitStruct . Mode = GPIO_MODE_OUTPUT_PP ; GPIO_InitStruct . Pull = GPIO_NOPULL ; GPIO_InitStruct . Speed = GPIO_SPEED_FREQ_LOW ; HAL_GPIO_Init ( A111_ENABLE_GPIO_Port , & GPIO_InitStruct ) ; GPIO_InitStruct . Pin = A111_SENSOR_INTERRUPT_Pin ; GPIO_InitStruct . Mode = GPIO_MODE_IT_RISING ; GPIO_InitStruct . Pull = GPIO_NOPULL ; HAL_GPIO_Init ( A111_SENSOR_INTERRUPT_GPIO_Port , & GPIO_InitStruct ) ; GPIO_InitStruct . Pin = A111_CTRL_Pin ; GPIO_InitStruct . Mode = GPIO_MODE_OUTPUT_PP ; GPIO_InitStruct . Pull = GPIO_NOPULL ; GPIO_InitStruct . Speed = GPIO_SPEED_FREQ_VERY_HIGH ; HAL_GPIO_Init ( A111_CTRL_GPIO_Port , & GPIO_InitStruct ) ; GPIO_InitStruct . Pin = WAKE_UP_Pin ; GPIO_InitStruct . Mode = GPIO_MODE_IT_RISING_FALLING ; GPIO_InitStruct . Pull = GPIO_PULLDOWN ; HAL_GPIO_Init ( WAKE_UP_GPIO_Port , & GPIO_InitStruct ) ; HAL_NVIC_SetPriority ( EXTI2_3_IRQn , 0 , 0 ) ; HAL_NVIC_EnableIRQ ( EXTI2_3_IRQn ) ; HAL_NVIC_SetPriority ( EXTI4_15_IRQn , 0 , 0 ) ; HAL_NVIC_EnableIRQ ( EXTI4_15_IRQn ) ; }
@brief GPIO Initialization Function
 @param None
 @retval None
@brief GPIO Initialization Function @param None @retval None
/* GPIO Ports Clock Enable */ /*Configure GPIO pin Output Level */ /*Configure GPIO pin Output Level */ /*Configure GPIO pin Output Level */ /*Configure GPIO pins : MISC_GPIO2_Pin MISC_GPIO0_Pin */ /*Configure GPIO pin : MCU_INT_Pin */ /*Configure GPIO pins : A111_CS_N_Pin PMU_ENABLE_Pin PS_ENABLE_Pin */ /*Configure GPIO pins : I2C_ADDRESS_Pin MISC_GPIO1_Pin */ /*Configure GPIO pin : A111_ENABLE_Pin */ /*Configure GPIO pin : A111_SENSOR_INTERRUPT_Pin */ /*Configure GPIO pin : A111_CTRL_Pin */ /*Configure GPIO pin : WAKE_UP_Pin */ /* EXTI interrupt init*/