mirror of https://github.com/ARMmbed/mbed-os.git
Merge pull request #10143 from jeromecoutant/PR_ADC_RESETINTERNAL
STM32 ADC INTERNAL CHANNEL reset after readpull/10296/head
commit
2a694cf1d9
|
@ -175,11 +175,12 @@ uint16_t adc_read(analogin_t *obj)
|
|||
HAL_ADC_Start(&obj->handle); // Start conversion
|
||||
|
||||
// Wait end of conversion and get value
|
||||
uint16_t adcValue = 0;
|
||||
if (HAL_ADC_PollForConversion(&obj->handle, 10) == HAL_OK) {
|
||||
return (uint16_t)HAL_ADC_GetValue(&obj->handle);
|
||||
} else {
|
||||
return 0;
|
||||
adcValue = (uint16_t)HAL_ADC_GetValue(&obj->handle);
|
||||
}
|
||||
LL_ADC_SetCommonPathInternalCh(__LL_ADC_COMMON_INSTANCE((&obj->handle)->Instance), LL_ADC_PATH_INTERNAL_NONE);
|
||||
return adcValue;
|
||||
}
|
||||
|
||||
const PinMap *analogin_pinmap()
|
||||
|
|
|
@ -173,11 +173,12 @@ uint16_t adc_read(analogin_t *obj)
|
|||
HAL_ADC_Start(&obj->handle); // Start conversion
|
||||
|
||||
// Wait end of conversion and get value
|
||||
uint16_t adcValue = 0;
|
||||
if (HAL_ADC_PollForConversion(&obj->handle, 10) == HAL_OK) {
|
||||
return (uint16_t)HAL_ADC_GetValue(&obj->handle);
|
||||
} else {
|
||||
return 0;
|
||||
adcValue = (uint16_t)HAL_ADC_GetValue(&obj->handle);
|
||||
}
|
||||
LL_ADC_SetCommonPathInternalCh(__LL_ADC_COMMON_INSTANCE((&obj->handle)->Instance), LL_ADC_PATH_INTERNAL_NONE);
|
||||
return adcValue;
|
||||
}
|
||||
|
||||
const PinMap *analogin_pinmap()
|
||||
|
|
|
@ -43,6 +43,10 @@
|
|||
|
||||
/* Includes ------------------------------------------------------------------*/
|
||||
#include "stm32f1xx_hal_def.h"
|
||||
|
||||
/* Include low level driver */
|
||||
#include "stm32f1xx_ll_adc.h"
|
||||
|
||||
/** @addtogroup STM32F1xx_HAL_Driver
|
||||
* @{
|
||||
*/
|
||||
|
|
|
@ -180,11 +180,12 @@ uint16_t adc_read(analogin_t *obj)
|
|||
HAL_ADC_Start(&obj->handle); // Start conversion
|
||||
|
||||
// Wait end of conversion and get value
|
||||
uint16_t adcValue = 0;
|
||||
if (HAL_ADC_PollForConversion(&obj->handle, 10) == HAL_OK) {
|
||||
return (uint16_t)HAL_ADC_GetValue(&obj->handle);
|
||||
} else {
|
||||
return 0;
|
||||
adcValue = (uint16_t)HAL_ADC_GetValue(&obj->handle);
|
||||
}
|
||||
LL_ADC_SetCommonPathInternalCh(__LL_ADC_COMMON_INSTANCE((&obj->handle)->Instance), LL_ADC_PATH_INTERNAL_NONE);
|
||||
return adcValue;
|
||||
}
|
||||
|
||||
const PinMap *analogin_pinmap()
|
||||
|
|
|
@ -46,6 +46,9 @@
|
|||
/* Includes ------------------------------------------------------------------*/
|
||||
#include "stm32f2xx_hal_def.h"
|
||||
|
||||
/* Include low level driver */
|
||||
#include "stm32f2xx_ll_adc.h"
|
||||
|
||||
/** @addtogroup STM32F2xx_HAL_Driver
|
||||
* @{
|
||||
*/
|
||||
|
|
|
@ -227,7 +227,7 @@ uint16_t adc_read(analogin_t *obj)
|
|||
} else {
|
||||
debug("HAL_ADC_PollForConversion issue\n");
|
||||
}
|
||||
|
||||
LL_ADC_SetCommonPathInternalCh(__LL_ADC_COMMON_INSTANCE((&obj->handle)->Instance), LL_ADC_PATH_INTERNAL_NONE);
|
||||
if (HAL_ADC_Stop(&obj->handle) != HAL_OK) {
|
||||
debug("HAL_ADC_Stop issue\n");;
|
||||
}
|
||||
|
|
|
@ -186,11 +186,12 @@ uint16_t adc_read(analogin_t *obj)
|
|||
HAL_ADC_Start(&obj->handle); // Start conversion
|
||||
|
||||
// Wait end of conversion and get value
|
||||
uint16_t adcValue = 0;
|
||||
if (HAL_ADC_PollForConversion(&obj->handle, 10) == HAL_OK) {
|
||||
return (uint16_t)HAL_ADC_GetValue(&obj->handle);
|
||||
} else {
|
||||
return 0;
|
||||
adcValue = (uint16_t)HAL_ADC_GetValue(&obj->handle);
|
||||
}
|
||||
LL_ADC_SetCommonPathInternalCh(__LL_ADC_COMMON_INSTANCE((&obj->handle)->Instance), LL_ADC_PATH_INTERNAL_NONE);
|
||||
return adcValue;
|
||||
}
|
||||
|
||||
const PinMap *analogin_pinmap()
|
||||
|
|
|
@ -186,11 +186,12 @@ uint16_t adc_read(analogin_t *obj)
|
|||
HAL_ADC_Start(&obj->handle); // Start conversion
|
||||
|
||||
// Wait end of conversion and get value
|
||||
uint16_t adcValue = 0;
|
||||
if (HAL_ADC_PollForConversion(&obj->handle, 10) == HAL_OK) {
|
||||
return (uint16_t)HAL_ADC_GetValue(&obj->handle);
|
||||
} else {
|
||||
return 0;
|
||||
adcValue = (uint16_t)HAL_ADC_GetValue(&obj->handle);
|
||||
}
|
||||
LL_ADC_SetCommonPathInternalCh(__LL_ADC_COMMON_INSTANCE((&obj->handle)->Instance), LL_ADC_PATH_INTERNAL_NONE);
|
||||
return adcValue;
|
||||
}
|
||||
|
||||
const PinMap *analogin_pinmap()
|
||||
|
|
|
@ -223,11 +223,12 @@ uint16_t adc_read(analogin_t *obj)
|
|||
HAL_ADC_Start(&obj->handle); // Start conversion
|
||||
|
||||
// Wait end of conversion and get value
|
||||
uint16_t adcValue = 0;
|
||||
if (HAL_ADC_PollForConversion(&obj->handle, 10) == HAL_OK) {
|
||||
return (uint16_t)HAL_ADC_GetValue(&obj->handle);
|
||||
} else {
|
||||
return 0;
|
||||
adcValue = (uint16_t)HAL_ADC_GetValue(&obj->handle);
|
||||
}
|
||||
LL_ADC_SetCommonPathInternalCh(__LL_ADC_COMMON_INSTANCE((&obj->handle)->Instance), LL_ADC_PATH_INTERNAL_NONE);
|
||||
return adcValue;
|
||||
}
|
||||
|
||||
const PinMap *analogin_pinmap()
|
||||
|
|
|
@ -179,9 +179,8 @@ uint16_t adc_read(analogin_t *obj)
|
|||
if (HAL_ADC_PollForConversion(&obj->handle, 10) == HAL_OK) {
|
||||
adcValue = (uint16_t)HAL_ADC_GetValue(&obj->handle);
|
||||
}
|
||||
sConfig.Rank = ADC_RANK_NONE;
|
||||
HAL_ADC_ConfigChannel(&obj->handle, &sConfig);
|
||||
return adcValue;
|
||||
LL_ADC_SetCommonPathInternalCh(__LL_ADC_COMMON_INSTANCE((&obj->handle)->Instance), LL_ADC_PATH_INTERNAL_NONE);
|
||||
return adcValue;
|
||||
}
|
||||
|
||||
const PinMap *analogin_pinmap()
|
||||
|
|
|
@ -226,11 +226,12 @@ uint16_t adc_read(analogin_t *obj)
|
|||
HAL_ADC_Start(&obj->handle); // Start conversion
|
||||
|
||||
// Wait end of conversion and get value
|
||||
uint16_t adcValue = 0;
|
||||
if (HAL_ADC_PollForConversion(&obj->handle, 10) == HAL_OK) {
|
||||
return (uint16_t)HAL_ADC_GetValue(&obj->handle);
|
||||
} else {
|
||||
return 0;
|
||||
adcValue = (uint16_t)HAL_ADC_GetValue(&obj->handle);
|
||||
}
|
||||
LL_ADC_SetCommonPathInternalCh(__LL_ADC_COMMON_INSTANCE((&obj->handle)->Instance), LL_ADC_PATH_INTERNAL_NONE);
|
||||
return adcValue;
|
||||
}
|
||||
|
||||
const PinMap *analogin_pinmap()
|
||||
|
|
|
@ -192,18 +192,12 @@ uint16_t adc_read(analogin_t *obj)
|
|||
HAL_ADC_Start(&obj->handle); // Start conversion
|
||||
|
||||
// Wait end of conversion and get value
|
||||
uint16_t adcValue = 0;
|
||||
if (HAL_ADC_PollForConversion(&obj->handle, 10) == HAL_OK) {
|
||||
|
||||
/* Ref Manual: To prevent any unwanted consumption on the battery,
|
||||
it is recommended to enable the bridge divider only when needed for ADC conversion */
|
||||
if (sConfig.Channel == ADC_CHANNEL_VBAT) {
|
||||
CLEAR_BIT(__LL_ADC_COMMON_INSTANCE(obj->handle.Instance)->CCR, LL_ADC_PATH_INTERNAL_VBAT);
|
||||
}
|
||||
|
||||
return (uint16_t)HAL_ADC_GetValue(&obj->handle);
|
||||
} else {
|
||||
return 0;
|
||||
adcValue = (uint16_t)HAL_ADC_GetValue(&obj->handle);
|
||||
}
|
||||
LL_ADC_SetCommonPathInternalCh(__LL_ADC_COMMON_INSTANCE((&obj->handle)->Instance), LL_ADC_PATH_INTERNAL_NONE);
|
||||
return adcValue;
|
||||
}
|
||||
|
||||
const PinMap *analogin_pinmap()
|
||||
|
|
Loading…
Reference in New Issue