STM32L151C8-HAL接口-AD采样电池电压例子

2018年12月18日 965点热度 0人点赞 0条评论

STM32CubeMX中配置AD-IN0

配置DMA

配置完成,然后生成代码。

我们需要做的很简单,在MDK工程中启动AD就可以了,因为只测试一路AD,所以代码如下:

volatile uint16_t ADC_ConvertedValue;

uint16_t usVoltage = 0;

if (HAL_ADC_Start_DMA(&hadc, (uint32_t *)&ADC_ConvertedValue, 1) != HAL_OK)
{
Error_Handler();
}

ADC_ConvertedValue里面的值就是AD采样到的数据,电压值转换计算如下:

usVoltage = (((3.3*ADC_ConvertedValue)/4096.0)*2)*100;

这里,我把电压值放大了100倍,变成整型(uint16_t)数据避免浮点数,方便数据传输。

文章评论