蓝桥杯【物联网】零基础到国奖之路:十五. 扩展模块之双路ADC
- [第一节 硬件解读](#第一节 硬件解读)
- [第二节 CubeMX配置](#第二节 CubeMX配置)
- [第三节 代码编写](#第三节 代码编写)
第一节 硬件解读
STM32的ADC是12位,通过硬件过采样扩展到16位,模数转换器嵌入到STM32L071xx器件中。有16个外部通道和2个内部通道(温度传感器、电压基准)。三个通道,PA0、PA4和PA5是快速通道,而其他是标准通道。
ADC以单次或扫描模式执行转换。在扫描模式下,自动在选定的一组模拟输入上执行转换。
ADC频率与MCU频率无关,允许最大采样,即使在低MCU速度下,速率也为1.14MSPS。ADC功耗极低。
第二节 CubeMX配置
点击ADC使能IN8 IN9,之后使能Discontinuous,之后打上标签,PB0为AIN2(第二个旋钮),PB1为AIN1(第一个旋钮)。
第三节 代码编写
编写adcread函数。
创建data和value数组,读取两次并转换存放到value数组中,读取结束后关闭adc。
将adc_value中前两位的值换位置。
main函数中创建float指针读取数组。