[M453] Fix CI tests-api-analogin failed

1. Fix ADC convert finish check error.
2. Set ADC Vref to internal by default.
pull/3309/head
ccli8 2016-11-15 16:31:33 +08:00
parent e0f97e5c80
commit fe883d42ab
2 changed files with 3 additions and 4 deletions

View File

@ -64,9 +64,8 @@ void mbed_sdk_init(void)
CLK_SetCoreClock(72000000);
#if DEVICE_ANALOGIN
// FIXME: Check voltage reference for EADC
/* Vref connect to AVDD */
//SYS->VREFCTL = (SYS->VREFCTL & ~SYS_VREFCTL_VREFCTL_Msk) | SYS_VREFCTL_VREF_AVDD;
/* Vref connect to internal */
SYS->VREFCTL = (SYS->VREFCTL & ~SYS_VREFCTL_VREFCTL_Msk) | SYS_VREFCTL_VREF_3_072V;
#endif
/* Update System Core Clock */

View File

@ -141,7 +141,7 @@ uint16_t analogin_read_u16(analogin_t *obj)
uint32_t chn = NU_MODSUBINDEX(obj->adc);
EADC_START_CONV(eadc_base, 1 << chn);
while (EADC_GET_PENDING_CONV(eadc_base) & (1 << chn));
while (EADC_GET_DATA_VALID_FLAG(eadc_base, 1 << chn) != (1 << chn));
uint16_t conv_res_12 = EADC_GET_CONV_DATA(eadc_base, chn);
// Just 12 bits are effective. Convert to 16 bits.
// conv_res_12: 0000 b11b10b9b8 b7b6b5b4 b3b2b1b0