你的位置:首页 > 软件开发 > 操作系统 > stm32寄存器版学习笔记07 ADC

stm32寄存器版学习笔记07 ADC

发布时间:2016-07-12 23:00:09
STM32F103RCT有3个ADC,12位主逼近型模拟数字转换器,有18个通道,可测量16个外部和2个内部信号源。各通道的A/D转换可以单次、连续、扫描或间断模式执行。1.通道选择  stm32把ADC转换分成2个通道组:规则通道组相当于正常运行的程序;注入通道组相当于中断。程 ...

stm32寄存器版学习笔记07 ADC

  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为模拟输入。

stm32寄存器版学习笔记07 ADC由数据手册(不是参考手册)可知,ADC123的通道0皆为PA0口。

stm32寄存器版学习笔记07 ADC由参考手册可知,ADC引脚GPIO配置为模拟输入。

 

  APB2外设时钟使能寄存器(RCC_APB2ENR)

stm32寄存器版学习笔记07 ADC

置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)

stm32寄存器版学习笔记07 ADC

stm32寄存器版学习笔记07 ADC

  时钟配置寄存器(RCC_CFGR)

stm32寄存器版学习笔记07 ADC

stm32寄存器版学习笔记07 ADC

 

  Eg:RCC->APB2ENR|=1<<9;    //ADC1时钟使能

     RCC->APB2RSTR|=1<<9; //ADC1复位

原标题:stm32寄存器版学习笔记07 ADC

关键词:

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

可能感兴趣文章

我的浏览记录