—————————————————————————————————————————————————————————
无论是谁,你的一天也只有二十四小时。
你可以玩,可以睡大觉,可以去学习,也可以去探索那片从未到达的那片海。
时间不会为任何人停留,你可以选择原地踏步,当然你也可以选择勇攀高峰。
—————————————————————————————————————————————————————————————
STM3F10x系列 ADC的特点
STM3F101、STM3F102系列有1个ADC,STM3F103系列至少有2个ADC。
这些 ADC 可以独立使用,也可以使用双重模式(提高采样率)【疑问】 。
STM32 的 ADC 是 12 位逐次逼近型的模拟数字转换器。
它有 18 个通道,可测量 16 个外部和 2 个内部信号源。各通道的 A/D 转换可以单次、连续、扫描或间断模式执行。ADC 的结果可以左对齐或右对齐方式存储在 16 位数据寄存器中。
注意:STM32的ADC最大时钟是14MHz(否则转换科可能不准确)。所以在配置时钟寄存器RCC_CFGR时候或者库函数RCC_ADCCLKConfig(),预分频不要低于6(ADC挂载在APB2上,PCLK2时钟是72MHz)。最大转换速度为1MHz,在ADCCLK=14M,采样周期为1.5个ADC时钟下得到。
规则通道和注入通道
STM32 将 ADC 的转换分为 2 个通道组:规则通道组和注入通道组。规则通道相当于你正常运行的程序,而注入通道呢,就相当于中断。在你程序正常执行的时候,中断是可以打断你的执行的。同这个类似,注入通道的转换可以打断规则通道的转换, 在注入通道被转换完成之后,规则通道才得以继续转换。STM32 其 ADC 的规则通道组最多包含 16 个转换, 而注入通道组最多包含 4 个通道。
STM32 的 ADC 通道与GPIO 对应表:
、
我们根据我们选择的ADCx和通道x,我们先要使能 PORTx 的时钟和 和 ADCx时钟。比如,我们选择ADC1的通道0-通道7都是使能
我们先要使能 PORTA 的时钟和 和 ADC1时钟。