From 15bc8664b5dcc755f55b7931f532c9fc58e991f9 Mon Sep 17 00:00:00 2001 From: Kody Stribrny <89810515+kstribrnAmzn@users.noreply.github.com> Date: Fri, 15 Apr 2022 08:13:14 -0700 Subject: [PATCH] Add atomic flag for 16-bit ticks PIC24 (#488) This change allows the PIC24 family of 16 bit processors to read the tick count without a critical section when the tick count is 16 bits. Inspired from discussion - https://forums.freertos.org/t/xtaskgettickcount-with-critical-section-on-16-bit-mcu/14860/5 --- portable/MPLAB/PIC24_dsPIC/portmacro.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/portable/MPLAB/PIC24_dsPIC/portmacro.h b/portable/MPLAB/PIC24_dsPIC/portmacro.h index 223e4936b..0974bc33b 100644 --- a/portable/MPLAB/PIC24_dsPIC/portmacro.h +++ b/portable/MPLAB/PIC24_dsPIC/portmacro.h @@ -59,6 +59,9 @@ typedef unsigned short UBaseType_t; #if( configUSE_16_BIT_TICKS == 1 ) typedef uint16_t TickType_t; #define portMAX_DELAY ( TickType_t ) 0xffff +/* 16-bit tick type on a 16-bit architecture, so reads of the tick count do + * not need to be guarded with a critical section. */ + #define portTICK_TYPE_IS_ATOMIC 1 #else typedef uint32_t TickType_t; #define portMAX_DELAY ( TickType_t ) 0xffffffffUL