打印

ADC 采样设置问题

[复制链接]
581|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zijingzelan001|  楼主 | 2016-5-8 21:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
采样程序如下,copy的是TI的例程。
  P6SEL = 0x0F;                             // Enable A/D channel inputs
  ADC12CTL0 = ADC12ON+MSC+SHT0_2;           // Turn on ADC12, set sampling time
  ADC12CTL1 = SHP+CONSEQ_1;                 // Use sampling timer, single sequence
  ADC12MCTL0 = INCH_0;                      // ref+=AVcc, channel = A0
  ADC12MCTL1 = INCH_1;                      // ref+=AVcc, channel = A1
  ADC12MCTL2 = INCH_2;                      // ref+=AVcc, channel = A2
  ADC12MCTL3 = INCH_3+EOS;                  // ref+=AVcc, channel = A3, end seq.
  ADC12IE = 0x08;                           // Enable ADC12IFG.3
  ADC12CTL0 |= ENC;   
我的疑问是
①  P6SEL = 0x0F;                             // Enable A/D channel inputs
这句话不管我怎么设置都可以进入采样中断,这句话不是应该是设置相应的引脚后面才可以进行采样的么?为什么当我默认时或者我设置为0x00的时候也可以进入?
② ADC12IE = 0x08;                           // Enable ADC12IFG.3
这句话是使能相应的中断位,允许进入中断,我的理解是允许P6.3可以进入中断,那P6.0,P6.1,P6.2呢?我调试的时候发现都是在采样的,ADC12IE = 0x01;                           // Enable ADC12IFG.1,这句是使能P6.0的,那在给通道使能的时候是使能序列通道的最后一位还是将用到的所有位都使能?
③采样通道有16个这么多,例程给出的是单通道和序列通道,那如果不是序列通道,如果开多通道,且
A0,A1,中间几个不用,后面继续用到A4,A5,固然可以不这么用,但是如果要这样做的时候,该如何设置?关于这个我自己有一个想法,就是P6SEL=0x22;是否可行,请大大明示。
④关于通道选用,我发现当我把A0,A1两句注释掉,通道设置写成这样:
//ADC12MCTL0 = INCH_0;                      // ref+=AVcc, channel = A0
//ADC12MCTL1 = INCH_1;                      // ref+=AVcc, channel = A1
  ADC12MCTL2 = INCH_2;                      // ref+=AVcc, channel = A2
  ADC12MCTL3 = INCH_3+EOS;                  // ref+=AVcc, channel = A3, end seq.
这时候发现A0,A1采样还是继续的,这是为什么?

相关帖子

沙发
dirtwillfly| | 2016-5-9 08:00 | 只看该作者
你用的哪一个型号的msp430?

使用特权

评论回复
板凳
dirtwillfly| | 2016-5-9 08:01 | 只看该作者
P6SEL = 0x0F;  ,这是选择adc输入通道的,当然,每个通道对应着一个或几个io,具体和你的msp430型号有关
你设置0x00就是0x00通道

使用特权

评论回复
地板
dirtwillfly| | 2016-5-9 08:13 | 只看该作者
② ADC12IE = 0x08;                           // Enable ADC12IFG.3
使能要使用的序号最高的通道

使用特权

评论回复
5
dirtwillfly| | 2016-5-9 08:15 | 只看该作者
③adc12是顺序采样的,比如你使用A0和A2,会依次A2、A1、A0采样,当然如果没配置A1,A1的采样值可能是无意义的

使用特权

评论回复
6
dirtwillfly| | 2016-5-9 08:16 | 只看该作者
④原因同③

使用特权

评论回复
7
vibra2016| | 2016-5-9 20:15 | 只看该作者
这个参考电压的设置是很重要的。

使用特权

评论回复
8
zijingzelan001|  楼主 | 2016-5-9 20:37 | 只看该作者
dirtwillfly 发表于 2016-5-9 08:01
P6SEL = 0x0F;  ,这是选择adc输入通道的,当然,每个通道对应着一个或几个io,具体和你的msp430型号有关
...

谢谢大大及时给我回复,通过你的回答,我基本上理解了

使用特权

评论回复
9
zijingzelan001|  楼主 | 2016-5-9 20:40 | 只看该作者
vibra2016 发表于 2016-5-9 20:15
这个参考电压的设置是很重要的。

是的,参考电压可以根据资料来设置

使用特权

评论回复
10
zijingzelan001|  楼主 | 2016-5-9 20:42 | 只看该作者
感觉 dirtwillfly 大大讲的很清楚,帖子再晚点结贴好了,也可以让大家继续留言,相互学习

使用特权

评论回复
11
Varus| | 2016-5-10 20:53 | 只看该作者
ADC对应通道的问题容易让人迷糊啊,多研究用户手册吧

使用特权

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

本版积分规则

5

主题

78

帖子

0

粉丝