void HAL_ADC_MspDeInit(ADC_HandleTypeDef* hadc) { if(hadc->Instance==ADC1) { /* force reset the i2c peripheral This saves about 1mA or 3mA of excess sleep current, that seems to be relate to talking to ADC_CHANNELS[3] and up and/or enabling an ADC channel? Not sure what it's about */ __HAL_RCC_ADC1_FORCE_RESET(); __HAL_RCC_ADC1_RELEASE_RESET(); /* Peripheral clock disable */ __ADC1_CLK_DISABLE(); /**ADC GPIO Configuration PA0 ------> ADC_IN0 PA1 ------> ADC_IN1 PA4 ------> ADC_IN4 PA5 ------> ADC_IN5 PA6 ------> ADC_IN6 PB1 ------> ADC_IN9 */ HAL_GPIO_DeInit(GPIOA, GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_4|GPIO_PIN_5 |GPIO_PIN_6); HAL_GPIO_DeInit(GPIOB, GPIO_PIN_1); } }
void HAL_ADC_MspDeInit(ADC_HandleTypeDef* hadc) { uint8_t i; if( hadc->Instance == ADC1 ) { __HAL_RCC_ADC1_FORCE_RESET(); __HAL_RCC_ADC1_RELEASE_RESET(); __HAL_RCC_ADC1_CLK_DISABLE(); } i = 0; while(1) { if( g_Pin2PortMapArray[i].GPIOx_Port == NULL ) break; HAL_GPIO_DeInit(g_Pin2PortMapArray[i].GPIOx_Port, g_Pin2PortMapArray[i].Pin_abstraction); i++; } }
/** * @brief DeInitializes the ADC MSP. * @param hadc: ADC handle * @retval None */ void HAL_ADC_MspDeInit(ADC_HandleTypeDef* hadc) { #ifdef __HAL_RCC_ADC_FORCE_RESET __HAL_RCC_ADC_FORCE_RESET(); #endif #ifdef __HAL_RCC_ADC_RELEASE_RESET __HAL_RCC_ADC_RELEASE_RESET(); #endif if(hadc->Instance == ADC1) { #ifdef __HAL_RCC_ADC1_FORCE_RESET __HAL_RCC_ADC1_FORCE_RESET(); #endif #ifdef __HAL_RCC_ADC1_RELEASE_RESET __HAL_RCC_ADC1_RELEASE_RESET(); #endif #ifdef __HAL_RCC_ADC12_FORCE_RESET __HAL_RCC_ADC12_FORCE_RESET(); #endif #ifdef __HAL_RCC_ADC12_RELEASE_RESET __HAL_RCC_ADC12_RELEASE_RESET(); #endif #ifdef __HAL_RCC_ADC1_CLK_DISABLE __HAL_RCC_ADC1_CLK_DISABLE(); #endif #ifdef __HAL_RCC_ADC12_CLK_DISABLE __HAL_RCC_ADC12_CLK_DISABLE(); #endif } #ifdef ADC2 else if(hadc->Instance == ADC2) { #ifdef __HAL_RCC_ADC2_FORCE_RESET __HAL_RCC_ADC2_FORCE_RESET(); #endif #ifdef __HAL_RCC_ADC2_RELEASE_RESET __HAL_RCC_ADC2_RELEASE_RESET(); #endif #ifdef __HAL_RCC_ADC12_FORCE_RESET __HAL_RCC_ADC12_FORCE_RESET(); #endif #ifdef __HAL_RCC_ADC12_RELEASE_RESET __HAL_RCC_ADC12_RELEASE_RESET(); #endif #ifdef __HAL_RCC_ADC2_CLK_DISABLE __HAL_RCC_ADC2_CLK_DISABLE(); #endif #ifdef __HAL_RCC_ADC2_CLK_DISABLE __HAL_RCC_ADC2_CLK_DISABLE(); #endif } #endif #ifdef ADC3 else if(hadc->Instance == ADC3) { #ifdef __HAL_RCC_ADC3_FORCE_RESET __HAL_RCC_ADC3_FORCE_RESET(); #endif #ifdef __HAL_RCC_ADC3_RELEASE_RESET __HAL_RCC_ADC3_RELEASE_RESET(); #endif #ifdef __HAL_RCC_ADC34_FORCE_RESET __HAL_RCC_ADC34_FORCE_RESET(); #endif #ifdef __HAL_RCC_ADC34_RELEASE_RESET __HAL_RCC_ADC34_RELEASE_RESET(); #endif #ifdef __HAL_RCC_ADC3_CLK_DISABLE __HAL_RCC_ADC3_CLK_DISABLE(); #endif #ifdef __HAL_RCC_ADC34_CLK_DISABLE __HAL_RCC_ADC34_CLK_DISABLE(); #endif } #endif #ifdef ADC4 else if(hadc->Instance == ADC4) { __HAL_RCC_ADC34_FORCE_RESET(); __HAL_RCC_ADC34_RELEASE_RESET(); __HAL_RCC_ADC34_CLK_DISABLE(); } #endif #ifdef __HAL_RCC_ADC_CLK_DISABLE __HAL_RCC_ADC_CLK_DISABLE(); #endif }