From 5a6b5ee8712230910cdbe491cfdcb00ba90cc102 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9B=B6=E4=B8=AD=E6=96=AD=E5=BB=B6=E8=BF=9F=E7=9A=84RTOS?= Date: Fri, 27 Dec 2024 09:59:23 +0000 Subject: [PATCH] update Port/80251/port_80251.h. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 零中断延迟的RTOS --- Port/80251/port_80251.h | 24 +++++++++++------------- 1 file changed, 11 insertions(+), 13 deletions(-) diff --git a/Port/80251/port_80251.h b/Port/80251/port_80251.h index 56e62d77..33379459 100644 --- a/Port/80251/port_80251.h +++ b/Port/80251/port_80251.h @@ -3,8 +3,8 @@ * @file port_80251.h * @brief 80251 Core Port File * @author 迟凯峰 - * @version V3.2.0 - * @date 2024.12.13 + * @version V3.3.0 + * @date 2024.12.27 ******************************************************************************/ #ifndef __PORT_80251_H @@ -171,26 +171,24 @@ do{ \ #define mUsedTime_END \ do{ \ if(usedtime[0]){ \ - usedtime[0]--; \ - usedtime[1] = 65536 - usedtime[1] + counter - mSysTick_InitValue; \ + s_task_current->usedtime[0] += usedtime[0] - 1; \ + usedtime[0] = 0; \ + usedtime[1] = 65536 - usedtime[1] + tick_counter - mSysTick_InitValue; \ + } \ + else if(tick_counter <= usedtime[1]){ \ + usedtime[0] = ~0; \ + usedtime[1] = 65536 - usedtime[1] + tick_counter - mSysTick_InitValue; \ } \ else{ \ - if(counter >= usedtime[1]){ \ - usedtime[1] = counter - usedtime[1]; \ - } \ - else{ \ - usedtime[1] = 65536 - usedtime[1] + counter - mSysTick_InitValue; \ - } \ + usedtime[1] = tick_counter - usedtime[1]; \ } \ - s_task_current->usedtime[0] += usedtime[0]; \ s_task_current->usedtime[0] += (s_task_current->usedtime[1] + usedtime[1]) / mSysTick_Cycle; \ s_task_current->usedtime[1] = (s_task_current->usedtime[1] + usedtime[1]) % mSysTick_Cycle; \ }while(false) #define mUsedTime_INIT \ do{ \ - usedtime[0] = 0; \ - usedtime[1] = counter; \ + usedtime[1] = tick_counter; \ }while(false) #if SYSCFG_PENDSVFIFO_MONITOR == __ENABLED__