今晚总算把MSP430单片机的AD10的接连转化调试出来了。
AD单通道单次转化一次是没有问题的。
ADC10CTL0 = SREF_1+ADC10SHT_2 + REFON+ADC10ON+ ADC10IE ;
ADC10AE0 |= 0x40;
ADC10CTL1 = INCH_6;
ADC10CTL0 |= ENC + ADC10SC;
设置AD转化,挑选通道6,使能通道6的模仿输入,及一些相关信息。最终敞开AD转化。
接下来测验AD单通道接连转化。
ADC10CTL0|=SREF_0+ADC10SHT_2+MSC+ADC10IE+ADC10ON;
ADC10CTL1|=INCH_6+SHS_0+ADC10SSEL_0+CONSEQ_2;
ADC10AE0 |= 0x40;
ADC10DTC1 = 0x0A;
ADC10SA = 0x200;
ADC10CTL0 |= ENC + ADC10SC;
设置AD,发动DTC。
在单次转化时,AD将转化成果存入AD10MEM时就会发生中止;在单通道屡次转化时,发动DTC,那么,在一次完好的数据搬移之后才会发生中止。(也就是说,敞开了中止,在进入中止程序之后,AD转化现已完毕了,成果也现已保存起来。)
在调试时犯了一个过错,就是在设置AD之前加了一条句子__bis_SR_register( CPUOFF + GIE );成果程序运转到下面一句设置AD时,就履行不下去,死在哪里。呵呵……发现原来是把CPU给制止了。