各位大神,我在调ADC1时候,初始时没有过,单步看到程序在使能内部电压调节器时候TIMEOUT了。(ADC2有同样的问题)
if (HAL_IS_BIT_CLR(hadc->Instance->CR, ADC_CR_ADVREGEN))
{
/* Enable ADC internal voltage regulator */
SET_BIT(hadc->Instance->CR, ADC_CR_ADVREGEN);
/* Delay for ADC stabilization time */
/* Wait loop initialization and execution */
/* Note: Variable divided by 2 to compensate partially */
/* CPU processing cycles. */
wait_loop_index = (ADC_STAB_DELAY_US * (SystemCoreClock / (1000000 * 2)));
while(wait_loop_index != 0)
{
wait_loop_index--;
}
}
换了新的芯片还是这样,搞得不知所措了。还请大神解惑。
难道是硬件配置问题吗?
下图是我的硬件环境,使用外部3.3V电压链接到VREF+
(我用ADC3读取VREFINT得到3.2V左右,VBAT也是3.2V,内部温度也是正常)
ADC1.PNG (15.58 KB, 下载次数: 0)
下载附件
ADC配置
2018-9-17 16:11 上传 |