新闻中心

EEPW首页>嵌入式系统>设计应用> MSP430——AD10的DTC问题

MSP430——AD10的DTC问题

作者: 时间:2016-11-13 来源:网络 收藏
今晚终于把MSP430单片机AD10的连续转换调试出来了。

AD单通道单次转换一次是没有问题的。

本文引用地址://m.amcfsurvey.com/article/201611/316481.htm

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给禁止了。



关键词:MSP430AD10DTC问

评论


技术专区

关闭