STM32笔记 ADC篇
总转换时间TCONV = 采样时间+ 转换时间(转换时间=12.5个周期)
其中,采样时间是指完成一次转换到开始下一次转换的时间间隔,不包括转换时间;转换时间是固定的12.5个周期。采样时间有几个固定值可以选择设定。
二、ADON:开/关A/D转换器
该位由软件设置和清除。当该位为0时,写入1将把ADC从断电模式下唤醒。当该位为1时,写入1将启动转换。在转换器上电至转换开始有一个延迟时间tSTAB。
函数void ADC_Cmd(ADC_TypeDef* ADCx, FunctionalState NewState);虽然描述说是使能失能ADC,其实就是对ADON的操作,也就是说,当ADON为0时,该函数为唤醒ADC,当ADON为1时,为启动转换。
三、ADC开始转换的问题
芯片资料有以下两段话:
“单次转换模式下,ADC只执行一次转换。该模式既可通过设置ADC_CR2寄存器的ADON位(只适用于规则通道)启动,也可通过外部触发启动(适用于规则通道或注入通道),这时CONT位为0。
“在连续转换模式中,当前面ADC转换一结束马上就启动另一次转换。此模式可通过外部触发启动或通过设置ADC_CR2寄存器上的ADON位启动,此时CONT位是1。”
此处的关键点是:单次模式下,注入通道只能用软件启动,不能用ADON启动。但连续模式则可以用这两个方式启动。
四、中断的问题
JEOC:该位由硬件在所有注入通道组转换结束时设置,由软件清除
EOC:该位由硬件在(规则或注入)通道组转换结束时设置,由软件清除或由读取ADC_DR时清除
注意点:a、规则和注入都可以产生EOC标志,而JEOC标志只有注入组产生。
b、规则和注入都可以产生EOC中断,而JEOC中断只能由注入组产生。
c、JEOC只能软件清除,硬件不会自动清除,但是EOC在读取ADC_DR规则数据寄存器时,硬件会自动清除。(这条一定要注意,浪费我半天的时间才找到原因。)
STM32AD 相关文章:
- STM32 ADC与DMA多通道处理(12-03)
- STM32 之 ADC_DMA(12-03)
- stm32学习之十(12-03)
- STM32 ADC1_DMA(12-03)
- STM32_ADC+DMA(12-02)
- STM32的ADC DMA USART综合学习(12-02)