drivers: adc: add adc disable to save power
Disables adc once conversion completes and enables again before sampling Signed-off-by: Hao Luo <hluo@ambiq.com>
This commit is contained in:
parent
d6348cd22a
commit
18dc21b44d
1 changed files with 3 additions and 3 deletions
|
@ -119,6 +119,7 @@ static void adc_ambiq_isr(const struct device *dev)
|
|||
&Sample);
|
||||
*data->buffer++ = Sample.ui32Sample;
|
||||
}
|
||||
am_hal_adc_disable(data->adcHandle);
|
||||
adc_context_on_sampling_done(&data->ctx, dev);
|
||||
}
|
||||
}
|
||||
|
@ -185,9 +186,6 @@ static int adc_ambiq_start_read(const struct device *dev, const struct adc_seque
|
|||
}
|
||||
__ASSERT_NO_MSG(channels == 0);
|
||||
|
||||
/* Enable the ADC. */
|
||||
am_hal_adc_enable(data->adcHandle);
|
||||
|
||||
data->active_channels = active_channels;
|
||||
data->buffer = sequence->buffer;
|
||||
/* Start ADC conversion */
|
||||
|
@ -269,6 +267,8 @@ static void adc_context_start_sampling(struct adc_context *ctx)
|
|||
struct adc_ambiq_data *data = CONTAINER_OF(ctx, struct adc_ambiq_data, ctx);
|
||||
|
||||
data->repeat_buffer = data->buffer;
|
||||
/* Enable the ADC. */
|
||||
am_hal_adc_enable(data->adcHandle);
|
||||
/*Trigger the ADC*/
|
||||
am_hal_adc_sw_trigger(data->adcHandle);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue