OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 6108|回复: 9

AD寄存器的疑问

[复制链接]

75

主题

458

帖子

4

精华

金牌会员

Rank: 6Rank: 6

积分
1635
金钱
1635
注册时间
2012-8-28
在线时间
71 小时
发表于 2013-6-14 18:26:40 | 显示全部楼层 |阅读模式
u16 Get_Adc(u8 ch)   
{
//设置转换序列    
ADC1->SQR3&=0XFFFFFFE0;//规则序列1 通道ch
ADC1->SQR3|=ch;      
ADC1->CR2|=1<<22;       //启动规则转换通道 
while(!(ADC1->SR&1<<1));//等待转换结束   
return ADC1->DR; //返回adc值
}

ADC1->SQR3 手册看的不太理解,是AD1的通道么?通道可以到0x1F?  AD1_0~31通道最大?
在 ADC1->SQR1的位19到位15是AD16的通道设置?位23到位20能讲下原理么?
寄存器手册是 ADC->SQR3不是ADC1->SQR3啊。 





QQ750273008有好的资料记得发给我哦。。。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-6-15 00:15:08 | 显示全部楼层
最多有17个通道吧(没记错的话)
那么17个通道,你用4个位,明显不够用.
所以得有5个位来表示.
20~23代表规则序列长度.
其实就相当于一个数组和数组的大小的关系.
L决定了这个数组有多少个元素.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

39

主题

156

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
417
金钱
417
注册时间
2012-12-23
在线时间
19 小时
发表于 2013-6-15 00:54:58 | 显示全部楼层
回复【楼主位】750273008:
---------------------------------
通道数总共是18,包括16个外部通道和2个内部通道(内部温度传感器和内部参考电压),所以必须要用五位才能设置
而ADC_SQR1的bit20~bit23是设置总共转换多少个通道数,因为ADC在扫描的时候最多只能扫描16个通道,所以这里是4位
天道酬勤
回复 支持 反对

使用道具 举报

75

主题

458

帖子

4

精华

金牌会员

Rank: 6Rank: 6

积分
1635
金钱
1635
注册时间
2012-8-28
在线时间
71 小时
 楼主| 发表于 2013-6-15 08:47:37 | 显示全部楼层
回复【3楼】xly0907:
---------------------------------
谢谢。ADC_SQR1的bit20~bit23设置0010是3个转换,是哪3个转换?ad1号2号3号一直到AD16号,每个AD的0通道1通道2通道打开是吗?
QQ750273008有好的资料记得发给我哦。。。
回复 支持 反对

使用道具 举报

75

主题

458

帖子

4

精华

金牌会员

Rank: 6Rank: 6

积分
1635
金钱
1635
注册时间
2012-8-28
在线时间
71 小时
 楼主| 发表于 2013-6-15 09:26:01 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
手册和程序看的纠结。手册上看ADC_SQR1的每5位可以理解是设置打开的通道号(从0开始到17)最大10001
ADC_SQR1可以设置AD16,AD15,AD14,AD13
ADC_SQR2可以设置AD12,AD11,AD10,AD9,AD8,AD7
ADC_SQR3可以设置AD6,AD5,AD4,AD3,AD2,AD1
ADC_SQR1的bit20~bit23设置最大值0000~1111是设置哪个AD开的么?

程序中ADC1->SQR3,ADC2->SQR3,ADC3->SQR3怎么理解?
ADC1->DR,ADC11->DR,ADC13->DR,ADC16->DR,ADC8->DR这到可以理解。
QQ750273008有好的资料记得发给我哦。。。
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-6-15 10:08:33 | 显示全部楼层
回复【5楼】750273008:
---------------------------------
ADC_SQR1的bit20~bit23设置最大值0000~1111是设置哪个AD开的么? 
错,是设置开多少个.必须是AD1开始.比如你的ADC_SQR1的bit20~bit23设置为2,那么表示开启了2个通道,即AD1,AD2.

程序中ADC1->SQR3,ADC2->SQR3,ADC3->SQR3怎么理解? 
stm32有3个ADC.ADC1~3代表这三个ADC.每个ADC都有自己的规则序列.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

39

主题

156

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
417
金钱
417
注册时间
2012-12-23
在线时间
19 小时
发表于 2013-6-15 11:40:16 | 显示全部楼层
回复【4楼】750273008:
---------------------------------
这个应该是在扫描模式当中才会用到的,而ADC_SQR1的bit20~bit23是用来设置开多少个通道,而不是用来设置开哪个几个通道的
用来设置开哪几个通道的的寄存器是ADC_SQR3的bit0~bit4,bit5~bit9,bit10~bit14....................一直到ADC_SQR1的bit15~bit19
而扫描的时候必须是从AD1开始的,就是ADC_SQR3的bit0~bit4中你设置的通道
比如我需要扫描4个通道,他们分别是:CH3,CH4,CH9,CH14
那么在设置的时候你就要在ADC_SQR3中的bit0~bit4这5位当中写入3,在ADC_SQR3的bit5~bit9中写入4,在ADC_SRQ3的bit10~bit14中写入9,在ADC_SQR3的bit15~bit19中写入14
天道酬勤
回复 支持 反对

使用道具 举报

75

主题

458

帖子

4

精华

金牌会员

Rank: 6Rank: 6

积分
1635
金钱
1635
注册时间
2012-8-28
在线时间
71 小时
 楼主| 发表于 2013-6-15 16:56:28 | 显示全部楼层
回复【7楼】xly0907:
---------------------------------
比如我需要扫描AD1的4个通道,他们分别是:CH3,CH4,CH9,CH14 此时ADC1_SQR1的bit20~bit23应该设置0100对吗?
QQ750273008有好的资料记得发给我哦。。。
回复 支持 反对

使用道具 举报

75

主题

458

帖子

4

精华

金牌会员

Rank: 6Rank: 6

积分
1635
金钱
1635
注册时间
2012-8-28
在线时间
71 小时
 楼主| 发表于 2013-6-15 17:30:04 | 显示全部楼层
回复【6楼】正点原子:
---------------------------------
有点明白了,ADC1->SQR3,ADC2->SQR3,ADC3->SQR3有3个AD设备,比如我要用AD1这个设备,就需要ADC1->SQR3,ADC1->SQR2,ADC3->SQR1这些寄存器,而ADC_SQR1的bit20~bit23是用来设置扫描的队伍的大小,最大16次。先扫描队伍1号(AD1的通道)扫描队伍2号(AD1的通道)扫描队伍3号(AD1的通道)扫描队伍4号(AD1的通道).。。。。。。扫描队伍16号(AD1的通道)
ADC_SQR1的bit20~bit23是控制  :到扫描队伍几号结束。
各寄存器对应的每5位是修改AD1的通道选择。
扫描队伍1号(AD1的17通道)扫描队伍2号(AD1的5通道)扫描队伍3号(AD1的2通道)扫描队伍4号(AD1的13通道)结束,原因ADC_SQR1的bit20~bit23值是0011对吧。
以上我的理解要是没问题,那AD我算过了,参考手册ST也不出本专业的。看的纠结。。。
QQ750273008有好的资料记得发给我哦。。。
回复 支持 反对

使用道具 举报

39

主题

156

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
417
金钱
417
注册时间
2012-12-23
在线时间
19 小时
发表于 2013-6-15 22:56:31 | 显示全部楼层
回复【8楼】750273008:
---------------------------------
是的
天道酬勤
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-7-18 19:08

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表