ADC总结.docx

上传人:b****5 文档编号:6295649 上传时间:2023-01-05 格式:DOCX 页数:19 大小:21.43KB
下载 相关 举报
ADC总结.docx_第1页
第1页 / 共19页
ADC总结.docx_第2页
第2页 / 共19页
ADC总结.docx_第3页
第3页 / 共19页
ADC总结.docx_第4页
第4页 / 共19页
ADC总结.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

ADC总结.docx

《ADC总结.docx》由会员分享,可在线阅读,更多相关《ADC总结.docx(19页珍藏版)》请在冰豆网上搜索。

ADC总结.docx

ADC总结

✓函数ADC_DeInit将外设ADCx的全部寄存器重设为缺省值

✓函数ADC_Init根据ADC_InitStruct中指定的参数初始化外设ADCx的寄存器

✓为了能够正确地配置每一个ADC通道,用户在调用ADC_Init()之后,必须调用ADC_ChannelConfig()来配置每个所使用通道的转换次序和采样时间.

1ADC状态寄存器(ADC_SR)

地址偏移:

0x00

复位值:

0x00000000

ADC_GetFlagStatus检查制定ADC标志位置1与否

例Status=ADC_GetFlagStatus(ADC1,ADC_FLAG_EOC);

位31:

15

保留。

必须保持为0。

位4

ADC_FLAG_STRTStatus=ADC_GetFlagStatus(ADC1,ADC_FLAG_EOC);

STRT:

规则通道开始位

该位由硬件在规则通道转换开始时设置,由软件清除。

0:

规则通道转换未开始

1:

规则通道转换已开始

位3

ADC_FLAG_JSTRTStatus=ADC_GetFlagStatus(ADC1,ADC_FLAG_EOC);

JSTRT:

注入通道开始位

该位由硬件在注入通道组转换开始时设置,由软件清除。

0:

注入通道转换未开始

1:

注入通道转换已开始

位2

ADC_FLAG_JEOCStatus=ADC_GetFlagStatus(ADC1,ADC_FLAG_EOC);

JEOC:

注入通道转换结束位

该位由硬件在所有注入通道组转换结束时设置,由软件清除

0:

转换未完成

1:

转换完成

位1

ADC_FLAG_EOCStatus=ADC_GetFlagStatus(ADC1,ADC_FLAG_EOC);

EOC:

转换结束位

该位由硬件在(规则或注入)通道组转换结束时设置,由软件清除或由读取ADC_DR时清除

0:

转换未完成

1:

转换完成

位0

ADC_FLAG_AWDStatus=ADC_GetFlagStatus(ADC1,ADC_FLAG_EOC);

AWD:

模拟看门狗标志位

该位由硬件在转换的电压值超出了ADC_LTR和ADC_HTR寄存器定义的范围时设置,由软件清除

0:

没有发生模拟看门狗事件

1:

发生模拟看门狗事件

2ADC控制寄存器1(ADC_CR1)

地址偏移:

0x04

复位值:

0x00000000

位31:

24

保留。

必须保持为0。

位23

ADC_AnalogWatchdog_SingleRegEnable单个规则通道上设置模拟看门狗

ADC_AnalogWatchdog_SingleInjecEnable单个注入通道上设置模拟看门狗

ADC_AnalogWatchdog_SingleRegorInjecEnable单个规则通道或者注入通道上设置模拟看门狗

ADC_AnalogWatchdog_AllRegEnable所有规则通道上设置模拟看门狗

ADC_AnalogWatchdog_AllInjecEnable所有注入通道上设置模拟看门狗

ADC_AnalogWatchdog_AllRegAllInjecEnable所有规则通道和所有注入通道上上设置模拟看门狗

ADC_AnalogWatchdog_None不设置模拟看门狗

AWDEN:

在规则通道上开启模拟看门狗

该位由软件设置和清除。

0:

在规则通道上禁用模拟看门狗

1:

在规则通道上使用模拟看门狗

位22

ADC_AnalogWatchdogCmd(ADC2,

ADC_AnalogWatchdog_AllRegAllInjecEnable);

JAWDEN:

在注入通道上开启模拟看门狗

该位由软件设置和清除。

0:

在注入通道上禁用模拟看门狗

1:

在注入通道上使用模拟看门狗

位21:

20

保留。

必须保持为0。

位19:

16

ADC_Mode_Independent

ADC1和ADC2工作在独立模式

ADC_Mode_RegInjecSimult

ADC1和ADC2工作在同步规则和同步注入模式

ADC_Mode_RegSimult_AlterTrig

ADC1和ADC2工作在同步规则模式和交替触发模式

ADC_Mode_InjecSimult_FastInterl

ADC1和ADC2工作在同步规则模式和快速交替模式

ADC_Mode_InjecSimult_SlowInterl

ADC1和ADC2工作在同步注入模式和慢速交替模式

ADC_Mode_InjecSimult

ADC1和ADC2工作在同步注入模式

ADC_Mode_RegSimult

ADC1和ADC2工作在同步规则模式

ADC_Mode_FastInterl

ADC1和ADC2工作在快速交替模式

ADC_Mode_SlowInterl

ADC1和ADC2工作在慢速交替模式

ADC_Mode_AlterTrig

ADC1和ADC2工作在交替触发模式

DUALMOD[3:

0]:

双模式选择

软件使用这些位选择操作模式。

0000:

独立模式

0001:

混合的同步规则+注入同步模式

0010:

混合的同步规则+交替触发模式

0011:

混合同步注入+快速交替模式

0100:

混合同步注入+慢速交替模式

0101:

注入同步模式

0110:

规则同步模式

0111:

快速交替模式

1000:

慢速交替模式

1001:

交替触发模式

注:

在ADC2和ADC3中这些位为保留位

在双模式中,改变通道的配置会产生一个重新开始的条件,这将导致同步丢失。

建议在进行任何配置改变前关闭双模式。

位15:

13

ADC_DiscModeChannelCountConfig

对ADC规则组通道配置间断模式

DISCNUM[2:

0]:

间断模式通道计数

软件通过这些位定义在间断模式下,收到外部触发后转换规则通道的数目

000:

1个通道

001:

2个通道

……

111:

8个通道

位12

ADC_InjectedDiscModeCmd

ADC_InjectedDiscModeCmd(ADC2,ENABLE);

JDISCEN:

在注入通道上的间断模式

该位由软件设置和清除,用于开启或关闭注入通道组上的间断模式

0:

注入通道组上禁用间断模式

1:

注入通道组上使用间断模式

位11

ADC_DiscModeCmd

ADC_DiscModeCmd(ADC1,ENABLE);

ADC_DiscModeChannelCountConfig

ADC_DiscModeChannelCountConfig(ADC1,2);

DISCEN:

在规则通道上的间断模式

该位由软件设置和清除,用于开启或关闭规则通道组上的间断模式

0:

规则通道组上禁用间断模式

1:

规则通道组上使用间断模式

位10

ADC_AutoInjectedConvCmd

ADC_AutoInjectedConvCmd(ADC2,ENABLE);

JAUTO:

自动的注入通道组转换

该位由软件设置和清除,用于开启或关闭规则通道组转换结束后自动的注入通道组转换

0:

关闭自动的注入通道组转换

1:

开启自动的注入通道组转换

位9

AWDSGL:

扫描模式中在一个单一的通道上使用看门狗

该位由软件设置和清除,用于开启或关闭由AWDCH[4:

0]位定义的通道上的模拟看门狗功能

0:

在所有的通道上使用模拟看门狗

1:

在单一通道上使用模拟看门狗

位8

ADC_ScanConvMode

SCAN:

扫描模式

该位由软件设置和清除,用于开启或关闭扫描模式。

在扫描模式中,由ADC_SQRx或ADC_JSQRx寄存器选中的通道被转换。

0:

关闭扫描模式

1:

使用扫描模式

注:

如果分别设置了EOCIE或JEOCIE位,只在最后一个通道转换完毕才会产生EOC或JEOC中断。

位7

ADC_IT_JEOC

JEOCIE:

允许产生注入通道转换结束中断

该位由软件设置和清除,用于禁止或允许所有注入通道转换结束后产生中断。

0:

禁止JEOC中断

1:

允许JEOC中断。

当硬件设置JEOC位时产生中断。

位6

ADC_IT_AWD

AWDIE:

允许产生模拟看门狗中断

该位由软件设置和清除,用于禁止或允许模拟看门狗。

在扫描模式下,如果看门狗检测到超范围的数值时,只有在设置了该位时扫描才会中止。

0:

禁止模拟看门狗中断

1:

允许模拟看门狗中断。

位5

ADC_IT_EOC

EOCIE:

允许产生EOC中断

该位由软件设置和清除,用于禁止或允许转换结束后产生中断。

0:

禁止EOC中断

1:

允许EOC中断。

当硬件设置EOC位时产生中断。

位4:

0ADC_Channel

ADC_Channel_0选择ADC通道0

ADC_Channel_1选择ADC通道1

ADC_Channel_2选择ADC通道2

ADC_Channel_3选择ADC通道3

ADC_Channel_4选择ADC通道4

ADC_Channel_5选择ADC通道5

ADC_Channel_6选择ADC通道6

ADC_Channel_7选择ADC通道7

ADC_Channel_8选择ADC通道8

ADC_Channel_9选择ADC通道9

ADC_Channel_10选择ADC通道10

ADC_Channel_11选择ADC通道11

ADC_Channel_12选择ADC通道12

ADC_Channel_13选择ADC通道13

ADC_Channel_14选择ADC通道14

ADC_Channel_15选择ADC通道15

ADC_Channel_16选择ADC通道16

ADC_Channel_17选择ADC通道17

AWDCH[4:

0]:

模拟看门狗通道选择位

这些位由软件设置和清除,用于选择模拟看门狗保护的输入通道。

00000:

ADC模拟输入通道0

00001:

ADC模拟输入通道1

……

01111:

ADC模拟输入通道15

10000:

ADC模拟输入通道16

10001:

ADC模拟输入通道17

保留所有其他数值。

注:

ADC1的模拟输入通道16和通道17在芯片内部分别连到了温度传感器和VREFINT。

ADC2的模拟输入通道16和通道17在芯片内部连到了VSS。

ADC3模拟输入通道9,14,15,16,17与Vss相连

3ADC控制寄存器2(ADC_CR2)

地址偏移:

0x08

复位值:

0x00000000

位31:

24

保留。

必须保持为0。

位23

ADC_TampSensorVrefintCmd

例ADC_TempSensorVrefintCmd(ENABLE);

AWDEN:

温度传感器和VREFINT使能

该位由软件设置和清除,用于开启或禁止温度传感器和VREFINT通道。

在双ADC的器件中,该位置出现在ADC1中。

0:

禁止温度传感器和VREFINT

1:

启用温度传感器和VREFINT

位22

SWSTART:

开始转换规则通道

由软件设置该位以启动转换,转换开始后硬件马上清除此位。

如果在EXTSEL[2:

0]位中选择了SWSTART为触发事件,该位用于启动一组规则通道的转换,

0:

复位状态

1:

开始转换规则通道

位21

ADC_GetsoftwareStartinjectedConvStatus

Status=ADC_GetSoftwareStartInjectedConvStatus(ADC1);

JSWSTART:

开始转换注入通道

由软件设置该位以启动转换,软件可清除此位或在转换开始后硬件马上清除此位。

如果在JEXTSEL[2:

0]位中选择了JSWSTART为触发事件,该位用于启动一组注入通道的转换,

0:

复位状态

1:

开始转换注入通道

位20

ADC_ExternalTrigConvConfigCmd

ADC_ExternalTrigConvCmd(ADC1,ENABLE);

EXTTRIG:

规则通道的外部触发转换模式

该位由软件设置和清除,用于开启或禁止可以启动规则通道组转换的外部触发信号。

0:

不用外部触发信号启动转换

1:

使用外部触发信号启动转换

位19:

17

ADC_ExternalTrigConv_T1_CC1选择定时器1的捕获比较1作为转换外部触发

ADC_ExternalTrigConv_T1_CC2选择定时器1的捕获比较2作为转换外部触发

ADC_ExternalTrigConv_T1_CC3选择定时器1的捕获比较3作为转换外部触发

ADC_ExternalTrigConv_T2_CC2选择定时器2的捕获比较2作为转换外部触发

ADC_ExternalTrigConv_T3_TRGO选择定时器3的TRGO作为转换外部触发

ADC_ExternalTrigConv_T4_CC4选择定时器4的捕获比较4作为转换外部触发

ADC_ExternalTrigConv_Ext_IT11选择外部中断线11事件作为转换外部触发

ADC_ExternalTrigConv_None转换由软件而不是外部触发启动

EXTSEL[2:

0]:

选择启动规则通道组转换的外部事件

这些位选择用于启动规则通道组转换的外部事件

ADC1和ADC2的触发配置如下

000:

定时器1的CC1事件

100:

定时器3的TRGO事件

001:

定时器1的CC2事件

101:

定时器4的CC4事件

010:

定时器1的CC3事件

110:

EXTI线11/TIM8_TRGO,仅大容量产品具有TIM8_TRGO功能

011:

定时器2的CC2事件

111:

SWSTART

ADC3的触发配置如下

000:

定时器3的CC1事件

100:

定时器8的TRGO事件

001:

定时器2的CC3事件

101:

定时器5的CC1事件

010:

定时器1的CC3事件

110:

定时器5的CC3事件

011:

定时器8的CC1事件

111:

SWSTART

位16

保留。

必须保持为0。

位15

ADC_ExternalTrigConv

JEXTTRIG:

注入通道的外部触发转换模式

该位由软件设置和清除,用于开启或禁止可以启动注入通道组转换的外部触发信号。

0:

不用外部触发信号启动转换

1:

使用外部触发信号启动转换

位14:

12

ADC_ExternalTrigConv_T1_CC1选择定时器1的捕获比较1作为转换外部触发

ADC_ExternalTrigConv_T1_CC2选择定时器1的捕获比较2作为转换外部触发

ADC_ExternalTrigConv_T1_CC3选择定时器1的捕获比较3作为转换外部触发

ADC_ExternalTrigConv_T2_CC2选择定时器2的捕获比较2作为转换外部触发

ADC_ExternalTrigConv_T3_TRGO选择定时器3的TRGO作为转换外部触发

ADC_ExternalTrigConv_T4_CC4选择定时器4的捕获比较4作为转换外部触发

ADC_ExternalTrigConv_Ext_IT11选择外部中断线11事件作为转换外部触发

ADC_ExternalTrigConv_None转换由软件而不是外部触发启动

JEXTSEL[2:

0]:

选择启动注入通道组转换的外部事件

这些位选择用于启动注入通道组转换的外部事件

ADC1和ADC2的触发配置如下

000:

定时器1的TRGO事件

100:

定时器3的CC4事件

001:

定时器1的CC4事件

101:

定时器4的TRGO事件

010:

定时器2的TRGO事件

110:

EXTI线15/TIM8_CC4事件(仅大容量产品具有TIM8_CC4)

011:

定时器2的CC1事件

111:

JSWSTART

ADC3的触发配置如下

000:

定时器1的TRGO事件

100:

定时器8的CC4事件

001:

定时器1的CC4事件

101:

定时器5的TRGO事件

010:

定时器4的CC3事件

110:

定时器5的CC4事件

011:

定时器8的CC2事件

111:

JSWSTART

位11ADC_DataAlign

ADC_DataAlign_RightADC数据右对齐

ADC_DataAlign_LeftADC数据左对齐

ALIGN:

数据对齐

该位由软件设置和清除。

参考图25和图26。

0:

右对齐

1:

左对齐

位10:

9

保留。

必须保持为0。

位8

ADC_DMACmd

DMA:

直接数据访问模式

该位由软件设置和清除。

详见DMA控制器章节。

0:

不使用DMA模式

1:

使用DMA模式

注:

在多于一个ADC的器件中,只有ADC1能产生DMA请求。

位7:

4

保留。

必须保持为0。

位3

RSTCAL:

复位校准

该位由软件设置并由硬件清除。

在校准寄存器被初始化后该位将被清除。

0:

校准寄存器已初始化

1:

初始化校准寄存器

注:

当正在进行转换时,如果设置RSTCAL,清除校准寄存器需要额外的周期。

位2

ADC_ResetCalibration

重置指定的ADC的校准寄存器

ADC_GetResetCalibrationStatus

获取ADC重置校准寄存器的状态

ADC_StartCalibration

开始指定ADC的校准状态

ADC_GetCalibrationStatus

获取指定ADC的校准程序

CAL:

A/D校准

该位由软件设置以开始校准,并在校准结束时由硬件清除。

0:

校准完成

1:

开始校准

位1

ADC_ContinuousConvMode

CONT:

连续转换

该位由软件设置和清除。

如果设置了此位,则转换将连续进行直到该位被清除。

0:

单次转换模式

1:

连续转换模式

位0

ADON:

开/关A/D转换器

该位由软件设置和清除。

当该位为0时,写入1将把ADC从断电模式下唤醒。

当该位为1时,写入1将启动转换。

在转换器上电至转换开始有一个延迟tSTAB,图21。

0:

关闭ADC转换/校准,并进入断电模式

1:

开启ADC并启动转换。

注:

如果在这个寄存器中与ADON一起还有其他位被改变,则转换不被触发。

这是为了防止触发错误的转换。

4ADC采样时间寄存器1(ADC_SMPR1)

地址偏移:

0x0C

复位值:

0x00000000

位31:

24

保留。

必须保持为0。

位23:

0

ADC_SampleTime

ADC_SampleTime_1Cycles5;

ADC_SampleTime_41Cycles5;

例1

ADC_InjectedChannelConfig(ADC1,ADC_Channel_12,2,

ADC_SampleTime_28Cycles5);

例2

ADC_InjectedChannelConfig(ADC2,ADC_Channel_4,11,ADC_SampleTime_71Cycles5);

SMPx[2:

0]:

选择通道x的采样时间

这些位用于独立地选择每个通道的采样时间。

在采样周期中通道选择位必须保持不变。

000:

1.5周期

100:

41.5周期

001:

7.5周期

101:

55.5周期

010:

13.5周期

110:

71.5周期

011:

28.5周期

111:

239.5周期

注:

–ADC1的模拟输入通道16和通道17在芯片内部分别连到了温度传感器和VREFINT。

–ADC2的模拟输入通道16和通道17在芯片内部连到了VSS。

-ADC3模拟输入通道14,15,16,17与Vss相连

5ADC采样时间寄存器2(ADC_SMPR2)

地址偏移:

0x10

复位值:

0x00000000

位31:

30

保留。

必须保持为0。

位29:

0

ADC_SampleTime

ADC_SampleTime_1Cycles5;

ADC_SampleTime_41Cycles5;

例1

ADC_InjectedChannelConfig(ADC1,ADC_Channel_12,2,

ADC_SampleTime_28Cycles5);

例2

ADC_InjectedChannelConfig(ADC2,ADC_Channel_4,11,ADC_SampleTime_71Cycles5);

SMPx[2:

0]:

选择通道x的采样时间

这些位用于独立地选择每个通道的采样时间。

在采样周期中通道选择位必须保持不变。

000:

1.5周期

100:

41.5周期

001:

7.5周期

101:

55.5周期

010:

13.5周期

110:

71.5周期

011:

28.5周期

111:

239.5周期

注:

ADC3模拟输入通道9与Vss相连

6ADC注入通道数据偏移寄存器x(ADC_JOFRx)(x=1..4)

地址偏移:

0x14-0x20

复位值:

0x00000000

位31:

12

保留。

必须保持为0。

位11:

0

JOFFSETx[11:

0]:

注入通道x的数据偏移

当转换注入通道时,这些位定义了用于从原始转换数据中减去的数值。

转换的结果可以在ADC_JDRx寄存器中读出。

7ADC看门狗高阀值寄存器(ADC_HTR)

地址偏移:

0x24

复位值:

0x00000000

用于确定模拟看门狗的高阀值

位31:

12

保留。

必须保持为0。

位11:

0ADC_AnalogWatchdongThresholdsConfig

ADC_AnalogWatchdogThresholdsConfig(ADC1,0x400,0x100);

HT[11:

0]:

模拟看门狗高阀值

这些位定义了模拟看门狗的阀值高限。

8ADC看门狗低阀值寄存器(ADC_LRT)

地址偏移:

0x28

复位值:

0x00000000

用于确定模拟看门狗的低阀值

位31:

12

保留。

必须保持为0。

位11:

0ADC_AnalogWatchdongThresholdsConfig

ADC_AnalogWatchdogThresholdsConfig(ADC1,0x400,0x100);

LT[11:

0]:

模拟看门狗低阀值

这些位定义了模拟看门狗的阀值低限。

规则通道有16个转换数目

注入通道有4个转换数

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1