UART Input Simultaneously with Higher Priority Interrupt
Posted: Fri Apr 03, 2026 4:45 pm
If an Rx ISR set to low priority is processing incoming data when the CCS buffer function is used, and a high priority external interrupt occurs, will the Rx buffer continue to fill while the higher priority interrupt executes? It seems that this could only occur if the buffer function is entirely in hardware.
Ttelmah
Joined: 11 Mar 2010 Posts: 20055
Posted: Sat Apr 04, 2026 3:15 am
First thing. What chip????
When you say 'high priority', are you talking about the #priority directive,
or 'level=' on the 16bit PIC's, or the keyword 'high' on a PIC18?.
It affects massively what happens.
On the 16bit PIC's have you got 'nested_interrupts=TRUE' enabled?.
The CCS buffer function uses an interrupt to put the data into a buffer,
so will not continue on any of the PIC's if the code is in another ISR, and
particularly if this has hardware priority over the standard UART interrupt.
The depth of the hardware buffer depends on the chip. Typically 2 characters
on most of the older PIC's and up to 8 characters on some of the newer
ones. Depending on the chip you may also be able to setup the DMA to
handle buffering serial in hardware.
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum