TI中文支持网
TI专业的中文技术问题搜集分享网站

关于ADC10 DTC的问题

#include "msp430g2553.h"

int data1[32]={0};

void main(void)

{

WDTCTL = WDTPW + WDTHOLD; //关看门狗

BCSCTL1 = CALBC1_1MHZ; //设定DCO为1MHZ

DCOCTL = CALBC1_1MHZ;

P1DIR=0XFF;

P1OUT=0X00;

P1SEL |= BIT2;//1.2为模拟输入

ADC10CTL1|=INCH_2+SHS_0+ADC10DIV_7+ADC10SSEL_2+CONSEQ_2;

//10通道,ADC10SC触发,8分频,时钟为MCLK,单通道多次

ADC10CTL0|=SREF_1+ADC10SHT_3+MSC+REF2_5V+REFON+ADC10IE+ADC10ON;

//内部参考源,采样保持时间64个ADC10CLKs,置MSC位,开内部参考源,2.5V,中断允许,启动ad10;

ADC10DTC1=0X20;//20次采样

ADC10SA=*data1;//DTC首地址

ADC10CTL0|=ENC+ADC10SC;//使能ad,触发采样

_EINT();

while(1);

}

#pragma vector=ADC10_VECTOR

__interrupt void ADC10_ISR(void)

{

ADC10CTL0&=~ENC;

P1OUT=0XFF;

}

求解啊 为什么我这么设置不可以进入中断啊  怎样设置才能进行单通道多次转换啊 ,还有DTC到底怎么用啊

Triton Zhang:

1. 代码中未设置ADC的输入使能

  初始化代码增加如下语句.

  ADC10AE0  |=(0x01<<2);  // P1.1 ADC option select

2. 你是如何判断没进中断的?是设置断点还是去量P1的管脚电平?

3. DTC用法很简单,就是设置ADC的采样次数和源地址即可,ADC连续采样的值会放在源地址位起始位置的连续存储空间。

赞(0)
未经允许不得转载:TI中文支持网 » 关于ADC10 DTC的问题
分享到: 更多 (0)