adc12位转换用的是 多通道序列

2019-03-24 13:18发布

adc12位转换用的是 多通道序列

关键的初始化为:
ADC12CTL0 = ADC12ON+SHT0_2+REFON+REF2_5V;
ADC12CTL1 = ADC12SSEL_1+SHP+CONSEQ_1;
ADC12MCTL0 = INCH_0+SREF_1;
ADC12MCTL1 = INCH_1+ SREF_1+EOS ;


主程序里头相关的程序
while (1)
{
ADC12CTL0 |= ADC12SC;
while ((ADC12IFG & BIT0)==0);
A0results[index] = ADC12MEM0;
while ((ADC12IFG & BIT1)==0);
A1results[index] = ADC12MEM1;
}

问题在读到 ADC12MEM0后 走不下去了,执行完ADC12CTL0 |= ADC12SC;看了寄存器发现
ADC12IFG=0X01;
不知道是为什么? 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
wstt
1楼-- · 2019-03-24 18:03
是否开了中断?
TrueElement
2楼-- · 2019-03-24 19:29
< :TI_MSP430_内容页_SA7 --> 一看你没设置DTC寄存器和ADC10SA就知道你错了。
好好看看这部分吧,有空我再写个教程,现在有问题先回复下去吧
请大声尖叫
3楼-- · 2019-03-24 21:39
 精彩回答 2  元偷偷看……
yygyfjkihag
4楼-- · 2019-03-25 02:15
因为在sequence模式时  
ADC12IFG的BIT0终始是保持为1
只有在sequence模式停止时 都会恢复到0
重邮king
5楼-- · 2019-03-25 07:08
ADC12有DTC寄存器么? DTC寄存器是针对Gxxxx系列(ADC10)的吧~
4027379
6楼-- · 2019-03-25 08:51
 精彩回答 2  元偷偷看……

一周热门 更多>

相关问题

    相关文章