From fa1792d6d69c1b1f8b1cf939c6089da03264136d Mon Sep 17 00:00:00 2001 From: Pierre Barbier Date: Fri, 29 May 2026 11:10:08 +0200 Subject: [PATCH] Using xTaskNotifyFromISR is kinda slow --- STM32/CM7/Core/Src/main.c | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/STM32/CM7/Core/Src/main.c b/STM32/CM7/Core/Src/main.c index eee71db..43d5201 100644 --- a/STM32/CM7/Core/Src/main.c +++ b/STM32/CM7/Core/Src/main.c @@ -93,7 +93,7 @@ void HAL_TIM_IC_CaptureCallback(TIM_HandleTypeDef *htim) { if (htim->Instance == TIM2 && htim->Channel == HAL_TIM_ACTIVE_CHANNEL_1) { trig_value = HAL_TIM_ReadCapturedValue(htim, TIM_CHANNEL_1); trig_flag = 1; - xTaskNotify(TimeCHHandle,trig_value,eSetValueWithOverwrite); + xTaskNotifyFromISR(TimeCHHandle,trig_value,eSetValueWithOverwrite,NULL); } } @@ -392,14 +392,12 @@ void StartDefaultTask(void *argument) { /* USER CODE BEGIN 5 */ /* Infinite loop */ + uint32_t t = 0; for(;;) { - if(trig_flag==1){ - - SEGGER_RTT_printf(0, "%lu\n\r",trig_value); - trig_flag=0; - } - osDelay(1); + SEGGER_RTT_printf(0, "%lu\n\r",__HAL_TIM_GET_COUNTER(&htim2)-t); + t=__HAL_TIM_GET_COUNTER(&htim2); + osDelay(1000); } /* USER CODE END 5 */ }