9S12G ATD Multi-Channels sample issues

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

9S12G ATD Multi-Channels sample issues

跳至解决方案
1,935 次查看
grace
Contributor I

Hi Expert,

I use 9S12G ATD Multi-Channels sample feature but the result is not as expected. AN0~AN8 will be sampled during each ATD multi-channels conversion. I read register ATDDRn and ATDDRn are not correct after conversion is completed. Please help analyze the issue.

/* ===========================================================================
*   Function:   ATD  initial
* ========================================================================= */

void ADC_MultInit(void)

{
    ATDCTL0=ATDCTL0_WRAP3_MASK;
    ATDCTL1=0x00;
    ATDCTL2=0x00;
    ATDCTL3=ATDCTL3_DJM_MASK +ATDCTL3_S8C_MASK+ATDCTL3_S1C_MASK;
    ATDCTL4=ATDCTL4_PRS2_MASK;

    ATDDIEN = (u16)(ATDDIEN_IEN9_MASK + ATDDIEN_IEN10_MASK + ATDDIEN_IEN11_MASK);

 

    ATDCTL5=ATDCTL5_SC_MASK + ATDCTL5_MULT_MASK;  /*Start mult convert*/
}

 

 

#define ATDDR_PTR(channel)  *(ATDDR_ARR + (channel))

 

/* ===========================================================================
*   Function:   Read ATD convert value one by one
*
* ========================================================================= */
void ADC_Service(void)
{
    if (ATDSTAT0_SCF)
    {
        for (ucIndex=0;ucIndex<eADC_MAX;ucIndex++)
        {
        /*Save current conversion value to average buffer*/
            stAdcBufferObj_s[ucIndex].aucAdcAvgCnt[0]=(u8)ATDDR_PTR(ucIndex);
        }
        ATDSTAT0_SCF = 1;
    }
    ATDCTL5=ATDCTL5_SC_MASK + ATDCTL5_MULT_MASK;      /*Mult convert go on*/
}

标签 (1)
0 项奖励
回复
1 解答
1,225 次查看
kef
Specialist I

It is not clear what is expected. You set ATDCTL5_SC bit. Do you expect to get conversion results for special channels, Reserved, Vrh, Vrl, etc?

在原帖中查看解决方案

0 项奖励
回复
2 回复数
1,226 次查看
kef
Specialist I

It is not clear what is expected. You set ATDCTL5_SC bit. Do you expect to get conversion results for special channels, Reserved, Vrh, Vrl, etc?

0 项奖励
回复
1,225 次查看
grace
Contributor I

Kef,

Thanks. You reminds me. ATDCTL5_SC bit should not be set.

0 项奖励
回复