OpenEdv-开源电子网

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

ADC程序疑惑

[复制链接]

23

主题

60

帖子

0

精华

初级会员

Rank: 2

积分
173
金钱
173
注册时间
2013-10-8
在线时间
0 小时
发表于 2013-10-27 01:10:01 | 显示全部楼层 |阅读模式
ADC1->SQR3&=0XFFFFFFE0;//规则序列1 通道ch,清零
ADC1->SQR3|=ch;//通道1转换  
这两句
是什么意思,当ch=1时,把1放入SQR3是什么意思,是选择通道1吗,如果2就是选择通道2吗

只有一个通道在规则序列里面,这个序列就是 SQ1,通过 ADC_SQR3 的最低 5 位(也就
是 SQ1)设置。如果有两个通道呢?又怎么设置,比如用通道1和通道2
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-10-27 11:34:13 | 显示全部楼层
你看了SQR3的寄存器描述么?
貌似你看了,知道最低5位是设置SQ1用的,那么2个通道,就看你是不是要用序列转换了,如果用序列:
那么设置规则通道里面有2个序列要转换。
然后设置SQ1=你要转换的第一个通道
设置SQ2=你要转换的第二个通道。
开启DMA,启动转换,就会连续转换这两个通道。

如果是不需要序列转换。你可以:
1,设置规则序列有一个通道需要转换。
2,SQ1=你要转换的第一个通道
3,启动转换,读取一次结果。
4,SQ1=你要转换的第二个通道
5,启动转换,读取一次结果。
如此循环。。。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

23

主题

60

帖子

0

精华

初级会员

Rank: 2

积分
173
金钱
173
注册时间
2013-10-8
在线时间
0 小时
 楼主| 发表于 2013-10-27 17:21:03 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
规则序列中的每个转换占5位,SQR3只能放6个规则系列,即SQ1-SQ6,依次类推,SQR1放的是SQ13-SQ16,
每个规则系列能放多个通道,但一次只能设置一个通道,这样理解对不对。

ADC1->SQR3&=0XFFFFFFE0;//规则序列1 通道ch
ADC1->SQR3|=ch;//通道1转换
通道1为什么要往ADC1->SQR3写1,怎么算的,如果用是第7个通道,ch应为多少
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-10-28 00:09:31 | 显示全部楼层
回复【3楼】小伟:
---------------------------------
每个SQ,一次只能设置一个.比如SQ1~SQ15.之类的.
你要第七个通道,ch=7就可以了啊.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-9 21:36

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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