-
?
函数
ADC_DeInit
将外设
ADCx
的全部寄存器重设为缺省值
?
函数
ADC_Init
根据
ADC_InitStruct
中指定的参数初始化外设
ADCx
的寄
存器
?
为了能够正确地配置每一个
ADC
通
道,
用户在调用
ADC_Init()
之后,
必须调
用
ADC_Channe
lConfig()
来配置每个所使用通道的转换次序和采样时间
.
?
1
ADC
状态寄存器
(ADC_SR)
地址偏移:
0x00
复位值:
0x0000 0000
ADC_GetFlagStatus
检查制定
ADC
标志位置
1
与否
例
Status =
ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC);
位
31:15
位
4
保留
。必须保持为
0
。
STRT
:规则通道开始位
ADC_FLAG_STRT
ADC_FLAG_EOC);
Status
ADC_GetFlagStatus(ADC1,
=
p>
该位由硬件在规则通道转换开始时设置,由软件清
除。
0
:规则通道转换未开始
1
:规则通道转换已开始
位
3
JSTRT
:注入通道开始位
p>
该位由硬件在注入通道组转换开始时设置,由软件
清除。
0
:注入通道转换未开始
1
:注入通道转换已开始
ADC_FLAG_JSTRT
Status
=
ADC_GetFlagStatus(ADC1,
ADC_FLAG_EOC);
位
2
JEOC
:注入通道转换结束位
ADC_FLAG_JEOC
ADC_FLAG_EOC);
Status
ADC_GetFlagStatus(ADC1,
=
p>
该位由硬件在所有注入通道组转换结束时设置,由
软件清除
0
:转换未完成
1
:转换完成
位
1
EOC
:转换结束位
ADC_FLAG_EOC
ADC_FLAG_EOC);
Status
ADC_GetFlagStatus(ADC1,
=
p>
该位由硬件在
(
规则或注入
)
通道组转换结束时设
置,由软件清除或由读取
ADC_DR
时清除
0
:转换未完成
1
:转换完成
位
0
AWD
:模拟看门狗标志位
ADC_FLAG_AWD
ADC_FLAG_EOC);
Status
ADC_GetFlagStatus(ADC1,
=
p>
该位由硬件在转换的电压值超出了
ADC_LTR
< br>和
ADC_HTR
寄存器定义的范围时设置,由软件清除
0
:没有发生模拟看门狗事件
1
:发生模拟看门狗事件
2
ADC
控制寄存器
1(ADC_CR1)
地址偏移:
0x04
复位值:
0x0000 0000
位
31:24
位
23
保
留。必须保持为
0
。
AWDEN
:在规则通道上开启模拟看门狗
ADC_AnalogWatchdog_SingleRegEnable
单
该位由软件设置和清除。
个规则通道上设置模拟看门狗
0
:在规则通道上禁用模拟看门狗
ADC_AnalogWatchdog_SingleInjecEnable
p>
单
1
:在规则通道上使用模拟看门狗
个注入通道上设置模拟看门狗
ADC_AnalogWatchdog_SingleRegorInjecEna
ble
单个规则通道或者注入通道上设置模拟
看
门狗
ADC_AnalogWatchdog_AllRegEnable
所有
规则通道上设置模拟看门狗
ADC_AnalogWatchdog_AllInjecEnable
所有
注入通道上设置模拟看门狗
ADC_AnalogWatchdog_AllRegAllInjecEnable
所有规则通道和所有注入通道上上设置模拟
看门狗
ADC_AnalogWatchdog_None
不设置
模拟看门狗
位
22
J
AWDEN
:在注入通道上开启模拟看门狗
该位由软件设置和清除。
0
:在注入通道上禁用模拟看门狗
1
:在注入通道上使用模拟看门狗
保留。必须保持为
0
。
DUALMOD[3:0]
:双模式选择
软件使用这些位选择操作模式。
0000
:独立模式
0001
:混合的同步规则
+
注入同步模式
0010
:混合的同
步规则
+
交替触发模式
0011
:混合同步注入
+
快速交替模式
0100
:混合同
步注入
+
慢速交替模式
0101
:注入同步模式
0110
:规则同步模式
0111
:快速交替模式
1000
:慢速交替模式
1001
:交替触发模式
注:
在<
/p>
ADC2
和
ADC3
中这些位为保留位
在双模式中,改变通道的配置会产生
一个重新
开始的条件,这将导致同步丢失。建议在进行
ADC_
AnalogWatchdogCmd(ADC2,
ADC_AnalogWatch
dog_AllRegAllInjec
Enable);
位
21:20
位
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
工作在交替触发模式
位
15:13
任何配置改变前关闭双模式。
DI
SCNUM[2:0]
:间断模式通道计数
软件通过这些位定义在间断模式下,收到外部
触发后转换规则通道的数目
000
:
1
p>
个通道
001
:
2
个通道
……
111
:
8
个通道
ADC_DiscModeChannelCountConfig
< br>对
ADC
规则组通道配置间断模式
位
12
JDISCEN
:在注入通道上的间断模式
该位由软件设置和清除,用于开启或关闭注入
通道组上的间断模式
0
:注入通道组上禁用间断模式
1
:注入通道组上使用间断模式
ADC_InjectedDiscModeCmd
ADC_InjectedDiscModeCmd(ADC2,
ENABLE);
位
11
D
ISCEN
:在规则通道上的间断模式
该位由软件设置和清除,用于开启或关闭规则
通道组上的间断模式
< br>
0
:规则通道组上禁用间断模式
1
:规则通道组上使用间断模式
ADC_DiscModeCmd
ADC_DiscModeCmd(ADC1, ENABLE);
ADC_DiscModeChannelCountConfig
< br>ADC_DiscModeChannelCountConfig(AD
C1,
2);
位
10
JAUTO
:自动的注入通道组转换
该位由软件设置和清除,用于开启或关闭规则
通道组转换结束后
自动的注入通道组转换
0
:关闭自动的注入通道组转换
1
:开启自动的注入通道组转换
ADC_AutoInjectedConvCmd
ADC_AutoInjectedConvCmd(ADC2,
ENABLE);
位
9
<
/p>
AWDSGL
:
扫描模式中在一个单一的
通道上使
用看门狗
该位由软件设置
和清除,用于开启或关闭由
AWDCH[4:0]
位定义的通道
上的模拟看门狗功
能
0
:在所有的通道上使用模拟看门狗
1
:在单一通道上使用模拟看门狗
位
8
SCAN
:扫描模式
该位由软件设置和清除,用于开启或关闭扫描
ADC_ScanConvMo
de
模
式
。
在
扫
描
模
p>
式
中
,
由
ADC_SQRx
或
ADC_JSQRx
寄存器选中的通道被转换。
0
:关闭扫描模式
1
:使用扫描模式
注:
如果分别设置了
EOCIE
或
JEOCIE
位,
只在
最后一个通道转换完毕才会产生
EOC
或
JEOC
中断。
位
7
JE
OCIE
:允许产生注入通道转换结束中断
该位由软件设置和清除,用于禁止或允许所有
注入通道转换结束后产生中断。<
/p>
0
:禁止
J
EOC
中断
1
:允许
JEOC
中断。当硬件设置
JEOC
位时产
生中断。
位
6
AWDIE
:允许产生模拟看门狗中断
该位由软件设置和清除,用于禁止或允许模拟
看门狗。在扫描模
式下,如果看门狗检测到超
范围的数值时,只有在设置了该位时扫描才会
中止。
0
:禁止模拟看门狗中断
1
:允许模拟看门狗中断。
位
5
EO
CIE
:允许产生
EOC
中断
该位由软件设置和清除,用于禁止或允许转换
结束后产生中断。
0
:禁止
p>
EOC
中断
1
:允许
EOC
中断。当硬件设置
EOC
位时产生
中断。
位
4:0
ADC_Channel
AWDCH[4:0]
:模拟看门狗通道选择位
这些位由软件设置和清
除,用于选择模拟看门
狗保护的输入通道。
00000
:
ADC
模拟输入
通道
0
00001
:
ADC
模拟输入通道
1
……
0
1111
:
ADC
模拟输入通道
15
10000
:
ADC
模拟输入通道
16
10001
:
ADC
模拟输入通道
17
保留所有其他数值。
注:
ADC1
的模拟输入通道
16
< br>和通道
17
在芯片
内部分别连到
了温度传感器和
VREFINT
。
ADC2
的模拟输入通道
16
和通道
17
在芯片内部
连到了
VSS
。
ADC_IT_JEOC
ADC_IT_AWD
ADC_IT_EOC
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
A
DC3
模拟输入通道
9
,
14
,
15
,
16
,
17
与
Vss
相连
3
ADC
控制寄存器
2(ADC_CR2)
地址偏移:
0x08
复位值:
0x0000 0000
位
31:24
位
23
保留。必须保持为
0
。
AWDEN
p>
:温度传感器和
V
REFINT
使能
该位由软件设置和清除,用于开启或禁止
温度传感
器和
V
REFINT
通道。在双
ADC
的器件中,该位置出现
在
ADC1
中。
0
:禁止温度传感器和
V
REFINT
1
:启用
温度传感器和
V
REFINT
位
22
SWSTART
:开始转换规则通道
由软件设置该位以启动转换,转换开始后硬件马上
清
除
此
位
。
如
果
在
EXTSEL[2:0
]
位
中
选
择<
/p>
了
SWSTART
为触发事件,该位用于
启动一组规则通
道的转换,
0
:复位状态
1
:开始转换规则通道
位
21
JSWSTART
:开始转换注入通道
由软件设置该位以启动转换,软件可清除此位或在
转
换
开
始
后
硬
件
马
上
清
除
此
位
。
如
果
在
JE
XTSEL[2:0]
位中选择了
JSWSTART
为触发事件,
该位用于启动一组注入通道的转换,
0
:复位状态
1
:开始转换注入通道
位
20
E
XTTRIG
:规则通道的外部触发转换模式
该位由软件设置和清除,用于开启或禁止可以启动
规则通道组转换的外部触发
信号。
0
:不用外部触发信号启动转换
1
:使用外部触发信号启动转换
ADC_TampSensorVrefintCmd
例
p>
ADC_TempSensorVrefintCmd(ENABL
E);
ADC_GetsoftwareStartinje
ctedCo
nvStatus
Status=
ADC_GetSoftwareStartInjectedCo
nvS
tatus(ADC1);
ADC_ExternalTrigConvConfigCmd
ADC_ExternalTrigConvCmd(ADC1,
ENABLE);
位
19:17
EXTSEL[2:0]
:选择启动规则通道组转换的外部事
件
这些位选择用于启动规则通道组转换的外部事件
ADC1
和
ADC2
的触
发配置如下
000
:定时器
1
的
CC1
事件
p>
100
:定时器
3
的
TRGO
事件
< br>
001
:定时器
1
的
CC2
事件
p>
101
:定时器
4
的
CC4
事件
010
:定时器
1
的
CC3
事件
110
p>
:
EXTI
线
11
/
TIM8_TRGO
,
仅大容量产品具有
TIM8_TRGO
功能
p>
011
:定时器
2
的
CC2
事件
111
:
SWSTART
ADC3
的触发配置如下
000
:定时器
3
的<
/p>
CC1
事件
100
:定时器
8
的
< br>TRGO
事件
001
:定时器
2
的
CC3
事件
101
:定时器
5
的
CC1
事件
010
:定时器
p>
1
的
CC3
事件<
/p>
110
:定时器
5
的
CC3
事件
< br>
011
:定时器
8
的
CC1
事件
111
:
SWSTART
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
转
换由软件而不是外部触发启动
位
16
位
15
保
留。必须保持为
0
。
JEXTTRIG
:注入通道的外部触发转换模式
该位由软件设置和清除,用于开启或禁止可以启动
注入通道组转
换的外部触发信号。
0
:不用外部触发信号启动转换
1
:使用外部触发信号启动转换
ADC_ExternalTrigConv
位
14:12
JEXTSEL[2:0]
:
选择启动注入通道组转换的外
部事
件
这些位选择用于启动注入通道组转换的外部事件
ADC1
和
ADC2
的触
发配置如下
000
:定时器
1
的
TRGO
事件<
/p>
100
:定时器
3
的
CC4
事件
< br>
001
:定时器
1
的
CC4
事件
p>
101
:定时器
4
的
TRGO
事件
< br>010
:定时器
2
的
TRGO
事件
110
:
EXTI
线
15/TIM8_CC4
事件
(
仅大容
量产品具有
TIM8_CC4)
ADC_ExternalTrigConv_T1_CC1
选择定
时器
1
的捕获比较
1
作为转换外部触
发
ADC_ExternalTrigConv_T1_CC2
选择定
时器
1
的捕获比较
2
作为转换外部触
发
ADC_ExternalTrigConv_T1_CC3
选择定
时器
1
的捕获比较
3
作为转换外部触
发
ADC_ExternalTrigConv_T2_CC2
选择定
时器
2
的捕获比较
2
作为转换外部触
-
-
-
-
-
-
-
-
-
上一篇:示波器触发详解
下一篇:数字万用表中文说明书(吉时利)