STM32F0
芯片通过ad采样压值,始终读不到数据, 检查
电路是对的.
设置如下:
我在应用中,添加如下:
1, 电池初始化部分
void BATT_Ini
tial(void)
{
HAL_ADCEx_Calibration_Start(&hadc); //adc较准
HAL_ADC_Start(&hadc); //轮询模式
}
2,任务中实时不间断地采集电压ad值:
u32 GetBattValue(void)
{
u32 bat=400; //初始化电池ad值的缺省值为400
HAL_ADC_PollForConversion(&hadc, 10);
if(HAL_ADC_GetState(&hadc) == HAL_ADC_STATE_REG_EOC) //EOC(EndOfConversion),用来做轮询或中断标记
{
bat= HAL_ADC_GetValue(&hadc);
}
return bat;
}
采集到的ad值始终为初始值400, 或根本没有采集到ad值, 反复检查电路, 电路没问题是对的,
问题出在哪里? 盼能得到各位师友指点迷津, 谢谢!
一周热门 更多>