diff --git a/Software/VNA_embedded/Application/Drivers/stm.hpp b/Software/VNA_embedded/Application/Drivers/stm.hpp index 769407f..19f3e19 100644 --- a/Software/VNA_embedded/Application/Drivers/stm.hpp +++ b/Software/VNA_embedded/Application/Drivers/stm.hpp @@ -22,6 +22,8 @@ static inline int8_t getTemperature() { HAL_ADC_Start(&hadc1); HAL_ADC_PollForConversion(&hadc1, 100); int16_t adc = HAL_ADC_GetValue(&hadc1); + // convert to used reference during calibration + adc = (int32_t) adc * 3300 / TEMPSENSOR_CAL_VREFANALOG; int16_t rangeFrom = *TEMPSENSOR_CAL2_ADDR - *TEMPSENSOR_CAL1_ADDR; int16_t rangeTo = TEMPSENSOR_CAL2_TEMP - TEMPSENSOR_CAL1_TEMP; adc -= *TEMPSENSOR_CAL1_ADDR; diff --git a/Software/VNA_embedded/Src/main.c b/Software/VNA_embedded/Src/main.c index 51c7663..c2393a9 100644 --- a/Software/VNA_embedded/Src/main.c +++ b/Software/VNA_embedded/Src/main.c @@ -235,7 +235,7 @@ static void MX_ADC1_Init(void) /** Common config */ hadc1.Instance = ADC1; - hadc1.Init.ClockPrescaler = ADC_CLOCK_SYNC_PCLK_DIV4; + hadc1.Init.ClockPrescaler = ADC_CLOCK_ASYNC_DIV4; hadc1.Init.Resolution = ADC_RESOLUTION_12B; hadc1.Init.DataAlign = ADC_DATAALIGN_RIGHT; hadc1.Init.GainCompensation = 0; @@ -274,7 +274,7 @@ static void MX_ADC1_Init(void) Error_Handler(); } /* USER CODE BEGIN ADC1_Init 2 */ - + HAL_ADCEx_Calibration_Start(&hadc1, ADC_SINGLE_ENDED); /* USER CODE END ADC1_Init 2 */ } diff --git a/Software/VNA_embedded/VNA_embedded.ioc b/Software/VNA_embedded/VNA_embedded.ioc index 586e12a..8aa12ab 100644 --- a/Software/VNA_embedded/VNA_embedded.ioc +++ b/Software/VNA_embedded/VNA_embedded.ioc @@ -1,6 +1,7 @@ #MicroXplorer Configuration settings - do not modify ADC1.Channel-0\#ChannelRegularConversion=ADC_CHANNEL_TEMPSENSOR_ADC1 -ADC1.IPParameters=Rank-0\#ChannelRegularConversion,master,Channel-0\#ChannelRegularConversion,SamplingTime-0\#ChannelRegularConversion,OffsetNumber-0\#ChannelRegularConversion,NbrOfConversionFlag +ADC1.ClockPrescaler=ADC_CLOCK_ASYNC_DIV4 +ADC1.IPParameters=Rank-0\#ChannelRegularConversion,master,Channel-0\#ChannelRegularConversion,SamplingTime-0\#ChannelRegularConversion,OffsetNumber-0\#ChannelRegularConversion,NbrOfConversionFlag,ClockPrescaler ADC1.NbrOfConversionFlag=1 ADC1.OffsetNumber-0\#ChannelRegularConversion=ADC_OFFSET_NONE ADC1.Rank-0\#ChannelRegularConversion=1