3489|2

14

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

msp430ADC采样问题 [复制链接]

我想用149芯片的P6口进行采样,现在不知道怎么回事只能让P6.0口采样,怎么让P6.1口采样,怎么设置,我弄了一上午了

最新回复

#include  <msp430x14x.h>#define   Num_of_Results   8static unsigned int A0results[Num_of_Results];  // These need to be global instatic unsigned int A1results[Num_of_Results];  // this example. Otherwise, thestatic unsigned int A2results[Num_of_Results];  // compiler removes them becausestatic unsigned int A3results[Num_of_Results];  // they are not usedvoid main(void){  WDTCTL = WDTPW+WDTHOLD;                   // Stop watchdog timer  P6SEL = 0x0F;                             // Enable A/D channel inputs  ADC12CTL0 = ADC12ON+MSC+SHT0_8;           // Turn on ADC12, extend sampling time                                            // to avoid overflow of results  ADC12CTL1 = SHP+CONSEQ_3;                 // Use sampling timer, repeated 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;                         // Enable conversions  ADC12CTL0 |= ADC12SC;                     // Start conversion  _BIS_SR(LPM0_bits + GIE);                 // Enter LPM0, Enable interrupts}#pragma vector=ADC12_VECTOR__interrupt void ADC12ISR (void){  static unsigned int index = 0;  A0results[index] = ADC12MEM0;             // Move A0 results, IFG is cleared  A1results[index] = ADC12MEM1;             // Move A1 results, IFG is cleared  A2results[index] = ADC12MEM2;             // Move A2 results, IFG is cleared  A3results[index] = ADC12MEM3;             // Move A3 results, IFG is cleared  index = (index+1)%Num_of_Results;         // Increment results index, modulo; Set Breakpoint here}复制代码  详情 回复 发表于 2012-7-18 15:11
 
点赞 关注

回复
举报

5015

帖子

13

TA的资源

裸片初长成(初级)

沙发
 
//                 MSP430F149
//            -----------------
//           |                 |
//   Vin0 -->|P6.0/A0          |
//   Vin1 -->|P6.1/A1          |
//   Vin2 -->|P6.2/A2          |
//   Vin3 -->|P6.3/A3          |
//           |                 |
 
 

回复

5015

帖子

13

TA的资源

裸片初长成(初级)

板凳
 
  1. #include <msp430x14x.h>

    #define Num_of_Results 8

    static unsigned int A0results[Num_of_Results]; // These need to be global in
    static unsigned int A1results[Num_of_Results]; // this example. Otherwise, the
    static unsigned int A2results[Num_of_Results]; // compiler removes them because
    static unsigned int A3results[Num_of_Results]; // they are not used

    void main(void)
    {
    WDTCTL = WDTPW+WDTHOLD; // Stop watchdog timer
    P6SEL = 0x0F; // Enable A/D channel inputs
    ADC12CTL0 = ADC12ON+MSC+SHT0_8; // Turn on ADC12, extend sampling time
    // to avoid overflow of results
    ADC12CTL1 = SHP+CONSEQ_3; // Use sampling timer, repeated 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; // Enable conversions
    ADC12CTL0 |= ADC12SC; // Start conversion
    _BIS_SR(LPM0_bits + GIE); // Enter LPM0, Enable interrupts
    }

    #pragma vector=ADC12_VECTOR
    __interrupt void ADC12ISR (void)
    {
    static unsigned int index = 0;

    A0results[index] = ADC12MEM0; // Move A0 results, IFG is cleared
    A1results[index] = ADC12MEM1; // Move A1 results, IFG is cleared
    A2results[index] = ADC12MEM2; // Move A2 results, IFG is cleared
    A3results[index] = ADC12MEM3; // Move A3 results, IFG is cleared
    index = (index+1)%Num_of_Results; // Increment results index, modulo; Set Breakpoint here
    }
复制代码

 
 
 

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

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表