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

移植149 ADC的代码不成功

已经做了相应的修改。。。

#include <msp430.h>
//#include <in430.h>

int main(void)
{
WDTCTL = WDTPW + WDTHOLD; // Stop WDT
ADC12CTL0 = SHT0_2 + ADC12ON; // Set sampling time, turn on ADC12
ADC12CTL1 = SHP; // Use sampling timer
ADC12IE = 0x01; // Enable interrupt
ADC12CTL0 |= ENC; // Conversion enabled
ADC12MCTL0 =INCH_1;
P6SEL |= 0x02; // P6.0 ADC option select
P4DIR |= 0x01; // P1.0 output
ADC12CTL0 |=ADC12SC;
_EINT();
for (;;)
{
ADC12CTL0 |= ADC12SC; // Sampling open
_BIS_SR(CPUOFF + GIE); // LPM0, ADC12_ISR will force exit
}
}

// ADC12 interrupt service routine
#pragma vector=ADC12_VECTOR
__interrupt void ADC12_ISR (void)
{
if (ADC12MEM1 < 0x7FF)
P4OUT &= ~0x01; // Clear P1.0 LED off
else
P4OUT |= 0x01; // Set P1.0 LED on
_BIC_SR_IRQ(CPUOFF); // Clear CPUOFF bit from 0(SR)
}

我的开发板电位器接的是P6.1,八个发光二极管接的是P4口,好像连中断都进不去

Eric Fu:

你好,

中断函数中的“if(ADC12MEM1<0x7FF)” 改成if(ADC12MEM0<0x7FF) 试试能否得到你要的效果。

jianbo qin:

回复 Eric Fu:

这个试过了,还是不行。。。。

Xutong Han2:

你先用仿真器看程序是否可以跳进ADC中断服务子程序中,如果可以跳入中断,再去查看ADC12MEM1中的值是否和你测量的模拟值对应。

jianbo qin:

回复 Xutong Han2:

debug protocol灰色的,现在连仿真器都用不了。用的是XP。。

Shi JianHua:

回复 jianbo qin:

不会这么难吧,在xp下使用iar4.11没问题,首先编译环境可以排除,我现在就是这个环境。再有,我但是就是用ti的历程调试,可以的,如果不成功,考虑ad启动后的等待延时是否足够。

jianbo qin:

回复 Shi JianHua:

你的电位器也是接在P61吗?感觉也没什么难的,可惜就是困扰了好几天。。。。

仿真器坏了。。。。

jianbo qin:

回复 Xutong Han2:

用jtag硬件调试,无法进入中断。。。

Shi JianHua:

回复 jianbo qin:

苦命的人,我当时直接采8路。一次采出。你还没调试成功,郁闷呐。

jianbo qin:

回复 Shi JianHua:

已经弄好了,但是是在单通道多次采集模式下完成的

单通道单次采集不知道是什么问题。。。。。

赞(0)
未经允许不得转载:TI中文支持网 » 移植149 ADC的代码不成功
分享到: 更多 (0)