TI中文支持网
TI专业的中文技术问题搜集分享网站

28335ad触发问题

麻烦问下,我的调试ad的时候没有使用pwm来触发ad开始采集,而是设置位连续采集方式,然后软件触发,但是ad一直没有工作起来。相应配置代码如下:

void adc_config(void)
{
    int i = 0;
    InitAdc();

    AdcRegs.ADCREFSEL.bit.REF_SEL = 0x0;            AdcRegs.ADCTRL1.bit.ACQ_PS = 15;             AdcRegs.ADCTRL1.bit.CONT_RUN = 1;              AdcRegs.ADCTRL1.bit.SEQ_OVRD = 0;             AdcRegs.ADCTRL1.bit.SEQ_CASC = 1;              AdcRegs.ADCTRL1.bit.CPS = 0;             

    AdcRegs.ADCTRL2.bit.INT_MOD_SEQ1 = 0;          AdcRegs.ADCTRL2.bit.RST_SEQ1 = 1;               AdcRegs.ADCTRL2.bit.INT_ENA_SEQ1 = 0;           AdcRegs.ADCTRL3.bit.ADCCLKPS = 0x1;             AdcRegs.ADCTRL3.bit.SMODE_SEL = 0;          
    AdcRegs.ADCCHSELSEQ1.bit.CONV00 = 0;        //第一个通道接通 ADCINA0
    AdcRegs.ADCMAXCONV.all = 0;                    //1个adc输入通道

    EALLOW;
    PieVectTable.SEQ1INT = &local_ADC_INT_ISR;
    EDIS;
    IER |= M_INT1;

    PieCtrlRegs.PIEIER1.bit.INTx1 = 1;
    AdcRegs.ADCST.bit.INT_SEQ1_CLR = 1;
}

然后在主函数中 通过这个语句来启动软件触发后,结果寄存器中一直没有数值

    AdcRegs.ADCTRL2.bit.SOC_SEQ1 = 1;

Gavin J:

ADC的时钟是否有正确配置? 例如:

EALLOW; SysCtrlRegs.HISPCP.all = ADC_MODCLK; EDIS;

麻烦问下,我的调试ad的时候没有使用pwm来触发ad开始采集,而是设置位连续采集方式,然后软件触发,但是ad一直没有工作起来。相应配置代码如下:

void adc_config(void)
{
    int i = 0;
    InitAdc();

    AdcRegs.ADCREFSEL.bit.REF_SEL = 0x0;            AdcRegs.ADCTRL1.bit.ACQ_PS = 15;             AdcRegs.ADCTRL1.bit.CONT_RUN = 1;              AdcRegs.ADCTRL1.bit.SEQ_OVRD = 0;             AdcRegs.ADCTRL1.bit.SEQ_CASC = 1;              AdcRegs.ADCTRL1.bit.CPS = 0;             

    AdcRegs.ADCTRL2.bit.INT_MOD_SEQ1 = 0;          AdcRegs.ADCTRL2.bit.RST_SEQ1 = 1;               AdcRegs.ADCTRL2.bit.INT_ENA_SEQ1 = 0;           AdcRegs.ADCTRL3.bit.ADCCLKPS = 0x1;             AdcRegs.ADCTRL3.bit.SMODE_SEL = 0;          
    AdcRegs.ADCCHSELSEQ1.bit.CONV00 = 0;        //第一个通道接通 ADCINA0
    AdcRegs.ADCMAXCONV.all = 0;                    //1个adc输入通道

    EALLOW;
    PieVectTable.SEQ1INT = &local_ADC_INT_ISR;
    EDIS;
    IER |= M_INT1;

    PieCtrlRegs.PIEIER1.bit.INTx1 = 1;
    AdcRegs.ADCST.bit.INT_SEQ1_CLR = 1;
}

然后在主函数中 通过这个语句来启动软件触发后,结果寄存器中一直没有数值

    AdcRegs.ADCTRL2.bit.SOC_SEQ1 = 1;

YUNLONG LI3:

回复 Gavin J:

这个配置了

赞(0)
未经允许不得转载:TI中文支持网 » 28335ad触发问题
分享到: 更多 (0)