原创 STM32的ADC的学习

2011-3-1 21:05 3489 14 19 分类: MCU/ 嵌入式

今天学习stm32的adc部分,adc1有18个通道,其中adc16和adc17是内部通道,分别接内部温度计和Vrefint。在做A/D转换的时候,16个多路通道可以分为两组:规则组和注入组。不知道大家怎么看,也许是我看的不够专注,反正我觉得stm32的参考手册真是晦涩难懂,就像躲猫猫一样。就规则组这个地方,看了好长时间才算看明白。

总结一下规则组的设置。规则组由16个转换组成,注意这里说的是转换,而不是指16个通道。具体来说就是在ADC_SQR1-----ADC_SQR3这三个寄存器中SQ1[4:0]至SQ16[4:0],而每一个转换可以是ADC的前16个通道中的任意一个通道,所以这几个都是用5位一组表示的。通过对任意一个转换设置相应的数据可以将这个转换设置成某一个通道。如往SQ1里面写3,那么ADCx_in3就开始工作。

规则组中转换的总数由ADC_SQR1寄存器的L[3:0]位确定。如:将9写入该寄存器的L中,那么规则组的转换数就是9,也就是SQ1,SQ2,SQ3.......SQ9。将想要进行转换的通道写进上面几个转换中,就可以实现对多个通道按照一定的规则进行转换。

而寄存器ADC_CR1的DISCNUM[2:0]则规定了一次外部触发时进行规则转换的通道的数目。

如果我想进行这样一次转换:将通道9,8,7,6,5,4,3,2,1,0这是个通道进行转换。

那么首先设置ADC_SQR1寄存器的L[3:0],应该写0X0A。

然后再开始写寄存器ADC_CR1的DISCNUM[2:0],一次外部触发启动几个转换就写几个。这里写入0X03。

第三在SQ1到SQ9中依次写入9,8,7,6,5,4,3,2,1,0。.

那么在第一次外部触发之后,通道9,8,7进行转换;

第二次触发之后,通道6,5,4进行转换;

第三次触发之后,通道3,2,1进行转换;

第四次触发之后,通道0,9,8进行转换。

自己的一点理解,如有不足,请各位多多指教。

 

PARTNER CONTENT

文章评论5条评论)

登录后参与讨论

用户1817377 2014-11-5 10:00

很不错 谢谢

用户377235 2014-8-7 13:15

点32个赞!

用户1544955 2013-8-30 16:20

very good

用户432472 2012-11-9 16:39

good

用户428665 2012-10-23 15:06

说的挺清楚的。不错。谢谢分享。
相关推荐阅读
用户1661850 2012-10-19 15:09
差分阻抗 差分线 阻抗匹配
差分线的特征阻抗是指两条差分线之间的阻抗,由电感、电容、电阻决定。 在PCB制板时可以指定差分线的特征阻抗。 在接收端为了保证信号的完整性要有匹配电阻,一般为100欧姆(和差分线的特征阻抗...
用户1661850 2012-10-19 15:05
差分对
差分线的特征阻抗是指两条差分线之间的阻抗,由电感、电容、电阻决定。 在PCB制板时可以指定差分线的特征阻抗。 在接收端为了保证信号的完整性要有匹配电阻,一般为100欧姆(和差分线的特征阻抗...
用户1661850 2012-09-26 16:55
关于typedef的用法总结【转的啊】
 不管实在C还是C++代码中,typedef这个词都不少见,当然出现频率较高的还是在C代码中。typedef与#define有些相似,但更多的是不同,特别是在一些复杂的用法上,就完全不同了,看了网...
用户1661850 2012-08-31 20:32
linux 中 int main(int argc, char* argv[])详解
   argc是命令行总的参数个数      argv[]是argc个参数,其中第0个参数是程序的全名,以后的参数      命令行后面跟的用户输入的参数,比如:      int   ma...
用户1661850 2012-08-21 14:41
Altium designer unmatched net 问题解决
之前画了一个板子,PCB基本已经完成了。之前用的RAM有几根地址线没有用到,现在想加上。修改完之后,编译没有问题,但是在导入的时候出现Unmatched net ,弹出这个窗口就没办法往下进行了。...
用户1661850 2012-05-23 20:44
LOCAL BUS
所谓local bus 其实就是地址线和数据线加一些控制信号。Local Bus(数据/地址复用总线解复用后的Device Bus叫Local Bus)总线一般采用数据/地址线复用的形式,通常为3...
EE直播间
更多
我要评论
5
14
关闭 站长推荐上一条 /3 下一条