예제 #1
0
/*******************************************************************************
* Function Name: ADC_SAR_Seq_1_Sleep
********************************************************************************
*
* Summary:
*  Stops the ADC operation and saves the configuration registers and component
*  enable state. Should be called just prior to entering sleep.
*
* Parameters:
*  None.
*
* Return:
*  None.
*
* Global Variables:
*  ADC_SAR_Seq_1_backup - modified.
*
*******************************************************************************/
void ADC_SAR_Seq_1_Sleep(void)
{
    /* During deepsleep/ hibernate mode keep SARMUX active, i.e. do not open
    *   all switches (disconnect), to be used for ADFT
    */
    ADC_SAR_Seq_1_SAR_DFT_CTRL_REG |= ADC_SAR_Seq_1_ADFT_OVERRIDE;
    if((ADC_SAR_Seq_1_SAR_CTRL_REG  & ADC_SAR_Seq_1_ENABLE) != 0u)
    {
        if((ADC_SAR_Seq_1_SAR_SAMPLE_CTRL_REG & ADC_SAR_Seq_1_CONTINUOUS_EN) != 0u)
        {
            ADC_SAR_Seq_1_backup.enableState = ADC_SAR_Seq_1_ENABLED | ADC_SAR_Seq_1_STARTED;
        }
        else
        {
            ADC_SAR_Seq_1_backup.enableState = ADC_SAR_Seq_1_ENABLED;
        }
        ADC_SAR_Seq_1_StopConvert();
        ADC_SAR_Seq_1_Stop();
        
        /* Disable the SAR internal pump before entering the chip low power mode */
        if((ADC_SAR_Seq_1_SAR_CTRL_REG & ADC_SAR_Seq_1_BOOSTPUMP_EN) != 0u)
        {
            ADC_SAR_Seq_1_SAR_CTRL_REG &= (uint32)~ADC_SAR_Seq_1_BOOSTPUMP_EN;
            ADC_SAR_Seq_1_backup.enableState |= ADC_SAR_Seq_1_BOOSTPUMP_ENABLED;
        }
    }
    else
    {
        ADC_SAR_Seq_1_backup.enableState = ADC_SAR_Seq_1_DISABLED;
    }
}
예제 #2
0
/*******************************************************************************
* Function Name: ADC_SAR_Seq_1_Sleep
********************************************************************************
*
* Summary:
*  Stops the ADC operation and saves the configuration registers and component
*  enable state. Should be called just prior to entering sleep.
*
* Parameters:
*  None.
*
* Return:
*  None.
*
* Global Variables:
*  ADC_SAR_Seq_1_backup - modified.
*
*******************************************************************************/
void ADC_SAR_Seq_1_Sleep(void)
{
    /* During deepsleep/ hibernate mode keep SARMUX active, i.e. do not open
    *   all switches (disconnect), to be used for ADFT
    */
    ADC_SAR_Seq_1_SAR_DFT_CTRL_REG |= ADC_SAR_Seq_1_ADFT_OVERRIDE;
    if((ADC_SAR_Seq_1_SAR_CTRL_REG  & ADC_SAR_Seq_1_ENABLE) != 0u)
    {
        if((ADC_SAR_Seq_1_SAR_SAMPLE_CTRL_REG & ADC_SAR_Seq_1_CONTINUOUS_EN) != 0u)
        {
            ADC_SAR_Seq_1_backup.enableState = ADC_SAR_Seq_1_ENABLED | ADC_SAR_Seq_1_STARTED;
        }
        else
        {
            ADC_SAR_Seq_1_backup.enableState = ADC_SAR_Seq_1_ENABLED;
        }
        ADC_SAR_Seq_1_StopConvert();
        ADC_SAR_Seq_1_Stop();
    }
    else
    {
        ADC_SAR_Seq_1_backup.enableState = ADC_SAR_Seq_1_DISABLED;
    }
}