关于STM32的ADC的一些重要特点需要记住:
1)STM32F103系列至少有2个ADC,这些ADC可以独立使用,也可以使用双重模式(提高采样率);
2)STM32的ADC是12位逐次逼近型的模数转换器,一共有18个通道,可以测量16个外部信号和2个内部信号源;
3)每个通道的ADC可以在单次、连续、扫描或者间断模式下进行;
4)前面讲过STM32的ADC是12位的,结果存储在16位的数据寄存器中,有4位用不到,所以ADC存在左对齐或右对齐的方式;
5)模拟看门狗允许应用程序检测输入电压是否超出用户定义的高低阈值;
6)STM32的ADC最大的转换速率为1MHz,也就是说最快转换时间为1us,为了保证ADC转换结果的准确性,ADC的时钟最好不超过14M。
规则组和注入组
STM32参考手册里ADC的框图很大,我把它分开来总结(不然放不下),研究内部结构之后感觉STM32的ADC还是挺强大的;
刚接触ADC时首先让人不好理解的地方是“注入组”“规则组”,我也从框图里把这部分截出来了,这部分的解释网上有很多,大部分都引用了那个测量温度的例子,大概意思就是有一些温度是我们要长期采集的(就用规则组),偶尔也要临时测量一些其他温度(就用注入组)。STM32的ADC分为这两个组也是考虑到现实应用的需求,有一些是常用采集,有一些是特殊采集。