MSP430——AD10的DTC问题
时间:11-13
来源:互联网
点击:
今晚终于把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给禁止了。
MSP430AD10DTC问 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)