本帖最后由 abs0213 于 2020-3-11 07:45 编辑
这是退出休眠后的时钟和外设的还原
void clock_config_after_stop(void)
{
/* Enable Power Control clock */
__HAL_RCC_PWR_CLK_ENABLE();
__HAL_RCC_GPIOA_CLK_ENABLE();
__HAL_RCC_GPIOB_CLK_ENABLE();
__HAL_RCC_GPIOC_CLK_ENABLE();
__HAL_RCC_GPIOH_CLK_ENABLE();
HAL_ADC_MspInit(&hadc);
__HAL_RCC_ADC1_CLK_ENABLE();
__HAL_RCC_DMA1_CLK_ENABLE();
HAL_UART_MspInit(&huart1);
HAL_UART_MspInit(&hlpuart1);
__HAL_RCC_LPUART1_CLK_ENABLE();
__HAL_RCC_USART1_CLK_ENABLE();
HAL_TIM_Base_MspInit(&htim2);
__HAL_RCC_TIM2_CLK_ENABLE();
/* The voltage scaling allows optimizing the power consumption when the device is
clocked below the maximum system frequency, to update the voltage scaling value
regarding system frequency refer to product datasheet. */
__HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1);
SystemClock_Config();
HAL_ADCEx_EnableVREFINT();
HAL_ADC_Init(&hadc);
HAL_DMA_Init(&hdma_adc);
MX_DMA_Init();
MX_ADC_Init();
HAL_ADC_MspInit(&hadc);
HAL_UART_Receive_IT(&hlpuart1,(uint8_t *)&lpuart1.receive_temp,1);//接收LPUART的数�????
HAL_TIM_Base_Start_IT(&htim2);//�????启定时器2
HAL_ADCEx_Calibration_Start(&hadc,ADC_SINGLE_ENDED);//ADC校准
HAL_ADC_Start_DMA(&hadc,(uint32_t *)&adcBuf,15);
flag = 1;
}
|