1、设置若干个通道控制寄存器,设置采样通道和参考电压,ADC12MCTLx,最后一个通道需要加EOS。
2、序列通道转换的首地址CSTARTADD,对应于上面的第一个ADC12MCTLx。
3、相对应的最后一个通道的中断标志ADC12IFGx。
4、多次转换只能使用中断查询式读数。
从坛子里找到的是什么意思啊
比如说我想用P6.0 P6.1 P6.6 P6.7
这四个口进行AD采样那初始化应该怎么设置,怎么读取寄存器的数值啊
这样对吗?
void AD_INIT(void)
{
P6SEL|=BIT1+BIT2+BIT6+BIT7; // 使能ADC通道
ADC12CTL0=ADC12ON+SHT0_8+MSC; // 打开ADC,设置采样时间
ADC12CTL1=SHP+CONSEQ_3; // 使用采样定时器
ADC12MCTL0=INCH_1;
ADC12MCTL1=INCH_2;
ADC12MCTL2=INCH_6;
ADC12MCTL3=INCH_7+EOS;
ADC12IE=0x08; // 使能ADC中断
ADC12CTL0 |= ENC; // 使能转换
ADC12CTL0 |= ADC12SC; // 开始转换
}
#pragma vector=ADC_VECTOR
__interrupt void ADC12ISR (void)
{
static uint index=0;
res0[index]=ADC12MEM0; // Move results
res1[index]=ADC12MEM1; // Move results
res2[index]=ADC12MEM2; // Move results
res3[index]=ADC12MEM3;
index++;
}
此帖出自
小平头技术问答
连续模式只要转换完就启动下一个
msp的ad可以将转换结果送到指定的RAM地址,从而实现类似dma的效果
一周热门 更多>