AD不懂

2019-03-24 13:15发布

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++;
} 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
1条回答
Li_Lei
2019-03-24 17:51
< AD工作模式和中不中断没关系
连续模式只要转换完就启动下一个
msp的ad可以将转换结果送到指定的RAM地址,从而实现类似dma的效果

一周热门 更多>

相关问题

    相关文章