打印

问几个关于ADC的问题

[复制链接]
572|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
黑夜的风|  楼主 | 2015-10-27 20:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1、STM32F103xC的数据手册上的,管脚标示的ADC123_XX,ADC12_XX,ADC3_XX,这些那个是参考手册上所说的ADC1,ADC2,ADC3呢?
2、我要用5个ADC通道,而且想每次ADC转换完后都进入中断处理,如果我选扫描模式+连续工作模式对吗?
      因为我是第一次用,有什么需要注意的吗?谢谢

相关帖子

沙发
我的期待| | 2015-10-27 20:41 | 只看该作者
首先,STM32内部最多有3个ADC转换器。 大容量的(超过128Kflash)才有3个ADC,不同的ADC转换器可以并行工作,而不同的通道,同一时间只能单个工作。

1,ADC123_XXX,代表内部ADC转换器1、2、3的第XX通道。也就是说这个通道是3个ADC共用的,一个时间只能由一个ADC转换器占有。
ADC12_XX,意义同上,代表ADC转换器1、2的第XX通道。
ADC3_XX,我想你自己都知道什么意思了?

2,5个通道,可以用1个ADC的5个通道即可,比如ADC1的5个通道。你的转换模式是 对的,不过这种模式的中断我没试过。
另外一个好一点的办法,就是用DMA操作,这样省事。当然,前提是你能灵活使用DMA和ADC了。

使用特权

评论回复
板凳
黑夜的风|  楼主 | 2015-10-27 20:41 | 只看该作者
我的期待 发表于 2015-10-27 20:41
首先,STM32内部最多有3个ADC转换器。 大容量的(超过128Kflash)才有3个ADC,不同的ADC转换器可以并行工作 ...

如果按我选那种工作模式,只有在5个通道都转换完毕才可以中断!但是,是不是这时候转换结果就只能得到最后一次转换的,前面四次被覆盖掉了!那还是用单次转换好了!
另外,ADC1->CR2|=1<<20;      //使用用外部触发(SWSTART)!!!          必须使用一个事件来触发
       有点儿不懂!

使用特权

评论回复
地板
我的期待| | 2015-10-27 20:42 | 只看该作者
黑夜的风 发表于 2015-10-27 20:41
如果按我选那种工作模式,只有在5个通道都转换完毕才可以中断!但是,是不是这时候转换结果就只能得到最 ...

那可能连续转换需要用DMA。

ADC1->CR2|=1<<20;  就是选择使用外部触发adc。
具体请看 《STM32参考手册》的外部触发转换一章(10.7节)

使用特权

评论回复
5
黑夜的风|  楼主 | 2015-10-27 20:42 | 只看该作者
我的期待 发表于 2015-10-27 20:42
那可能连续转换需要用DMA。

ADC1->CR2|=1

有没有什么,介绍应用DMA比较详细的资料!很晕,现在

使用特权

评论回复
6
我的期待| | 2015-10-27 21:12 | 只看该作者
黑夜的风 发表于 2015-10-27 20:42
有没有什么,介绍应用DMA比较详细的资料!很晕,现在

DMA其实比较简单的。
你看看STM32参考手册的DMA部分

使用特权

评论回复
7
黑夜的风|  楼主 | 2015-10-27 21:13 | 只看该作者
我的期待 发表于 2015-10-27 21:12
DMA其实比较简单的。
你看看STM32参考手册的DMA部分

:lol好的,谢谢前辈了。

使用特权

评论回复
8
哆来咪| | 2015-10-29 15:25 | 只看该作者
跑几个例程,什么都懂了

使用特权

评论回复
9
sunriselight| | 2015-10-29 15:32 | 只看该作者
不同的ADC转换器可以并行工作,而不同的通道,同一时间只能单个工作。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

78

帖子

0

粉丝