否则将导致ADC准确度下降
3、设置ADC1的工作模式。
在设置完分频因子之后,我们就可以开始ADC1的模式配置了,设置单次转换模式、触
发方式选择、数据对齐方式等都在这一步实现。
23
22
21
20
19
18
17
16
AWDENJAWDEN
保留
DUALMOD30
15
14
13
12
11
10
9
8
DISCNUM20
JDISCNDISCENJAUTOAWDSGLSCAN
7
6
5
4
3
2
1
0
JEOCIEAWDIEEOCIE
AWDCH40
23TSVREFE
15JEXTTRIG
7
ADC_CR1(ADC控制寄存器1)
ADC1CR10XF0FFFF工作模式清零
ADC1CR1016
独立工作模式
ADC1CR118非扫描模式
22
21
20
19
18
17
SWSTARTJSWSTARTEXTTRIG
EXTSEL20
14
13
12
11
10
9
JEXTSEL20
ALIGN
保留
6
5
4
3
2
1
保留
RSTCALCALCONT
16保留
8DMA
0ADON
ADC_CR2(ADC控制寄存器2)
fADC1CR211单次转换模式
ADC1CR2717
ADC1CR2717软件控制转换
ADC1CR2120使用用外部触发SWSTART必须使
用一个事件来触发
ADC1CR2111右对齐
4、设置ADC1规则序列的相关信息。
接下来我们要设置规则序列的相关信息,这里只有一个通道并且是单次转换所以设置规
则序列中通道数为1,然后设置通道0的采样周期。
23
22
21
20
19
18
17
16
L30
SQ1641
15
14
13
12
11
10
9
8
SQ160
SQ1520
SQ1420
7
6
5
4
3
2
1
0
SQ1420
SQ1320
ADC_SQR1(ADC规则序列寄存器1)
31
30
29
28
27
26
25
24
保留
SMP920
SMP820
23
22
21
20
19
18
17
16
SMP720
SMP620
SMP521
15
14
13
12
11
10
9
8
SMP50
SMP420
SMP320
SMP22
7
6
5
4
3
2
1
0
SMP210
SMP120
SMP020
ADC_SMPR2(ADC采样时间寄存器)
ADC1SQR10XF20
ADC1SQR1020
1个转换在规则序列中也就是只转换规则序列1
设置通道03的采样时间
ADC1SMPR20XFFFFF000通道0123采样时间清空
ADC1SMPR279
通道32395周期提高采样时间可以提高精确度
ADC1SMPR276
通道22395周期提高采样时间可以提高精确度
ADC1SMPR273
通道12395周期提高采样时间可以提高精确度
ADC1SMPR270通道02395周期提高采样时间可以提高精确度
5)开启AD转换器,并校准。
在设置完了以上信息后,我们就开启AD转换器,执行复位校准和AD校准,注意这两
步是必须的!不校准将导致结果很确。
23
22
21
20
19
18
17
16
TSVREFESWSTARTJSWSTARTEXTTRIG
EXTSEL20
保留
15
14
13
12
11
10
9
8
JEXTTRIG
JEXTSEL20
ALIGN
保留
DMA
7
6
5
4
3
2
1
0
保留
RSTCALCALCONTADON
fADC_CR2(ADC控制寄存器2)
ADC1CR210
开启AD转换器
ADC1CR213
使能复位校准
whileADC1CR213等待校准结束
该位由软件设置并由硬件清除。在校准寄存器被初始化后该位将被清r