模数转换器简称ADC,将模拟信号转化为数字信号的电子元器件。通常是将输入的电压信号(模拟型号)转换为输出的数字信号。即将时间连续、幅值也连续的模拟信号转换为时间离散、幅值也离散的数字信号,因此,A/D转换一般要经过取样、保持、量化及编码4个过程。在实际电路中,这些过程有的是合并进行的。STM32的采样精度为12位。
查看电路图,选择ADC1的通道5采集输入的模拟电压。采用杜邦线连接GND或者3.3V进行测试。
打开工程,进行配置
独立通道,单次转换采样,配置采样周期可以确定使用多少个ADC时钟周期来对电压进行采样。
生成初始化代码工程,打开工程。添加测试代码
在main.c函数的while(1)中添加如下测试代码
编译,打开串口助手,查看测试结果。将杜邦线连接到GND,即输入电压为0V。可以看到采集到的信号接近0V。
将杜邦线接到3.3V,查看采集的输入电压,接近3.3V。
这里采用的是查询方式,实际中可以采用中断或者DMA方式。