Merge pull request #8103 from jeromecoutant/PR_L0_ADC

STM32 L0 ADC internal channel fix
pull/8337/head
Martin Kojtal 2018-10-05 22:22:32 +02:00 committed by GitHub
commit 0b1bc876ac
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 10 additions and 6 deletions

View File

@ -70,9 +70,8 @@ MBED_WEAK const PinMap PinMap_ADC[] = {
};
MBED_WEAK const PinMap PinMap_ADC_Internal[] = {
{ADC_TEMP, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 17, 0)},
{ADC_VREF, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 0, 0)},
{ADC_VBAT, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 18, 0)},
{ADC_VREF, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 17, 0)}, // ADC_IN17 // VREFINT
{ADC_TEMP, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 18, 0)}, // ADC_IN18 // VSENSE
{NC, NC, 0}
};

View File

@ -48,9 +48,8 @@ const PinMap PinMap_ADC[] = {
};
const PinMap PinMap_ADC_Internal[] = {
{ADC_TEMP, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 17, 0)}, // Internal channel
{ADC_VREF, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 0, 0)}, // Internal channel
{ADC_VBAT, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 18, 0)}, // Internal channel
{ADC_VREF, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 17, 0)}, // ADC_IN17 // VREFINT
{ADC_TEMP, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 18, 0)}, // ADC_IN18 // VSENSE
{NC, NC, 0}
};

View File

@ -172,6 +172,12 @@ uint16_t adc_read(analogin_t *obj)
HAL_ADC_ConfigChannel(&obj->handle, &sConfig);
/* need to wait for some stabilization time after setting the TSEN bit in the ADC_CCR
register to wake up the temperature sensor from power down mode */
if (sConfig.Channel == ADC_CHANNEL_TEMPSENSOR) {
wait_ms(20);
}
HAL_ADC_Start(&obj->handle); // Start conversion
// Wait end of conversion and get value