|
@@ -64,7 +64,7 @@ static void MX_ADC1_Init(void);
|
|
|
static void MX_TIM1_Init(void);
|
|
|
static void MX_NVIC_Init(void);
|
|
|
/* USER CODE BEGIN PFP */
|
|
|
-void handleCmdRx();
|
|
|
+//void handleCmdRx();
|
|
|
|
|
|
/* USER CODE END PFP */
|
|
|
|
|
@@ -76,15 +76,18 @@ int getADCDiff() {
|
|
|
volatile uint32_t firstCnt;
|
|
|
int32_t timeoutCnt = 20;
|
|
|
|
|
|
- firstCnt = adcCounter;
|
|
|
- HAL_TIM_Base_Stop(&htim1); // Stop TIM1-Counter to maybe stop disturbances in measurments
|
|
|
- ADC1->CR1 = ADC_IT_EOC; // Enable interrupt
|
|
|
|
|
|
- while( timeoutCnt > 0 && adcCounter < (firstCnt+3) ) {
|
|
|
- timeoutCnt--;
|
|
|
- HAL_Delay(10); // Three measurements takes around 140mS. 20*10 = 200mS timeout
|
|
|
+ HAL_TIM_Base_Stop(&htim1); // Stop TIM1-Counter to maybe stop disturbances in measurements
|
|
|
+
|
|
|
+ for(int i=0;i<3;i++) {
|
|
|
+ firstCnt = adcCounter;
|
|
|
+ ADC1->CR1 = ADC_IT_EOC; // Enable interrupt
|
|
|
+ while( timeoutCnt > 0 && adcCounter == firstCnt ) {
|
|
|
+ timeoutCnt--;
|
|
|
+ HAL_Delay(10); // Three measurements takes around 140mS. 20*10 = 200mS timeout
|
|
|
+ }
|
|
|
}
|
|
|
- ADC1->CR1 = 0; // Disable interrupts
|
|
|
+
|
|
|
HAL_TIM_Base_Start(&htim1); // Start TIM1 again
|
|
|
|
|
|
if( timeoutCnt == 0 ) return 0;
|
|
@@ -106,7 +109,8 @@ void waitForNextPeriod(uint32_t Delay)
|
|
|
|
|
|
while ((HAL_GetTick() - tickstart) < wait)
|
|
|
{
|
|
|
- handleCmdRx();
|
|
|
+ HAL_Delay(5);
|
|
|
+ //handleCmdRx();
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -196,6 +200,7 @@ int main(void)
|
|
|
|
|
|
|
|
|
uint32_t startTime = HAL_GetTick();
|
|
|
+ HAL_GPIO_WritePin(GPIOC, GPIO_PIN_13, GPIO_PIN_RESET);
|
|
|
|
|
|
|
|
|
int adcDiff = getADCDiff();
|
|
@@ -209,6 +214,9 @@ int main(void)
|
|
|
printf(",%.2f}\n",temp);
|
|
|
}
|
|
|
|
|
|
+ HAL_GPIO_WritePin(GPIOC, GPIO_PIN_13, GPIO_PIN_SET);
|
|
|
+
|
|
|
+ //HAL_Delay(1000);
|
|
|
waitForNextPeriod( TIME_BETWEEN_READS-(HAL_GetTick()-startTime)-1 );
|
|
|
}
|
|
|
/* USER CODE END 3 */
|
|
@@ -316,7 +324,9 @@ static void MX_ADC1_Init(void)
|
|
|
HAL_ADCEx_Calibration_Start(&hadc1);
|
|
|
|
|
|
// Set sampling frequency
|
|
|
- sConfig.SamplingTime = ADC_SAMPLETIME_55CYCLES_5;
|
|
|
+ //sConfig.SamplingTime = ADC_SAMPLETIME_28CYCLES_5;
|
|
|
+ //sConfig.SamplingTime = ADC_SAMPLETIME_55CYCLES_5;
|
|
|
+ sConfig.SamplingTime = ADC_SAMPLETIME_71CYCLES_5;
|
|
|
HAL_ADC_ConfigChannel(&hadc1, &sConfig);
|
|
|
|
|
|
/* USER CODE END ADC1_Init 2 */
|