没有使用中断,采用轮询获取的ADC1通道1的值
CubeMX中 ADC设置如下:
在用STM32Cube MX时,将 Continuous Conversion Mode(连续转换模式) 设置成 ENABLE 后,ADC只能读出固定值
Main函数如下:
int main(void)
{
HAL_Init();
SystemClock_Config();
MX_GPIO_Init();
MX_USART1_UART_Init();
MX_ADC1_Init();
HAL_ADC_Start(&hadc1);
while (1)
{
HAL_ADC_Start(&hadc1);
if(HAL_ADC_PollForConversion(&hadc1,0xff) == HAL_OK)
{
Adc_val = HAL_ADC_GetValue(&hadc1);
printf("这是一个串口%d\r\n",Adc_val);
}
HAL_GPIO_TogglePin(LED_GPIO_Port,LED_Pin);
HAL_Delay(500);
}
}
但将 Continuous Conversion Mode(连续转换模式) 设置成 DISABLE 后,ADC能正确读出
单片机型号为STM32L476RE