STM32F103RCT有3个ADC,12位主逼近型模拟数字转换器,有18个通道,可测量16个外部和2个内部信号源。各通道的A/D转换可以单次、连续、扫描或间断模式执行。1.通道选择 stm32把ADC转换分成2个通道组:规则通道组相当于正常运行的程序;注入通道组相当于中断。程 ...
STM32F103RCT有3个ADC,12位主逼近型模拟数字转换器,有18个通道,可测量16个外部和2个内部信号源。各通道的A/D转换可以单次、连续、扫描或间断模式执行。
1.通道选择
stm32把ADC转换分成2个通道组:规则通道组相当于正常运行的程序;注入通道组相当于中断。程序初始化阶段设置好不同的转换组,系统运行中不用变更循环转换的配置,从而达到任务互不干扰和快速切换。
有16个多路通道。可以把转换组织成两组:规则组和注入组。在任意多个通道上以任意顺序进行的一系列转换构成成组转换。例如,可以如下顺序完成转换:通道3、通道8、通道2、通道2、通道0、通道2、通道2、通道15。
● 规则组由多达16个转换组成。规则通道和它们的转换顺序在ADC_SQRx寄存器中选择。
规则组中转换的总数应写入ADC_SQR1寄存器的L[3:0]位中。
● 注入组由多达4个转换组成。注入通道和它们的转换顺序在ADC_JSQR寄存器中选择。 注入组里的转换总数目应写入ADC_JSQR寄存器的L[1:0]位中。
如果ADC_SQRx或ADC_JSQR寄存器在转换期间被更改,当前的转换被清除,一个新的启动脉冲将发送到ADC以转换新选择的组。
2.ADC1通道0来采样外部电压值 配置步骤
①开启PA口时钟,设置PA0为模拟输入。
由数据手册(不是参考手册)可知,ADC123的通道0皆为PA0口。
由参考手册可知,ADC引脚GPIO配置为模拟输入。
APB2外设时钟使能寄存器(RCC_APB2ENR)
置1开启。清0关闭。
8-2位使能GPIO G-A
Eg:RCC->APB2ENR| = 1 << 2; //使能PORTA时钟
配置I/O口: 参见stm32寄存器版学习笔记01 GPIO口的配置。
Eg:GPIOA->CRL&=0XFFFFFFF0;//PA0 anolog输入
②使能ADC1时钟,并设置分频因子。
要使用ADC1,第一步使能ADC1时钟,之后进行一次ADC1复位。通过RCC_CFGR设置ADC1的分频因子。ADC1时钟不能超过14MHz。
APB2外设复位寄存器 (RCC_APB2RSTR)
时钟配置寄存器(RCC_CFGR)
Eg:RCC->APB2ENR|=1<<9; //ADC1时钟使能
RCC->APB2RSTR|=1<<9; //ADC1复位
原标题:stm32寄存器版学习笔记07 ADC
关键词:
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:
admin#shaoqun.com
(#换成@)。