位逐次逼近型的模拟数字转换器它有18个通道,可测量16个外部和2个内部信号源各通道的A/D转换可以单次、连续、扫描或间断模式执行。ADC的结果可以左对齐或右对齐方式存儲在16位数据寄存器中模拟看门狗特性允许应用程序检测输入电压是否超出用户定义的高/低阀值
STM32 的 ADC 最大的转换速率为 1Mhz,也就是转换时间为 1us(在 ADCCLK=14M,采样周期 1.5 个 ADC 时钟下得到)不要让 ADC 的时钟超过 14M,否则将导致结果准确度下降
STM32 将 ADC 的转换分为 2 个通道组:规则通道组和注入通道组规则通道相当于你正常运行的程序,而注入通道呢就相当于中断。在你程序正常执行的时候中断是可以打断你的执行的。同这个类似注叺通道的转换可以打断规则通道的转换,在注入通道被转换完成之后规则通道才得以继续转换
基于STM32F103内部AD测量电池电压,硬件电路如下:
根据电路GPIO PA5作为电池电压测量端口:
2、获取ADC值,转化成电池电压值
//获取某个通道的ADC值
//将通道5的值计算电池电压值
注:使用PA5作为电压值采集端口根据上表,ADC采样通道为通道5