Interruption Priority Problem
Posted by GabrielV
on April 28, 2010
I´m working with the Free RTOS with the PIC32 and i´m triying to use UART RX interruptions to listen to a printer command response, but i´m having the fallowing problem:
The main routine runs the fallowing code:
SYSTEMConfig(GetSystemClock(), SYS_CFG_WAIT_STATES | SYS_CFG_PCACHE);
/*Synchonization objects initialization*/
/*Temporal section with tests of libraries outside of the RTOS environment*/
/*Creation of application tasks*/
/* Finally start the scheduler. */
The Interrupt priority for UART RX was 1 and the code executed until a breakpoint in InitializeTask(); but the printer demo, that receives a byte for printer status didnt received anything.
But when I commented the function InitializeSystemObjects(); the I didnt have problems receiving the byte trough RX UART Interruption.
the InitializeSystemObjects() code:
_lcmQueue = xQueueCreate( LCM_TASK_QUEUE_DEEP, sizeof( xLCDMessage ));
_actionButtonQueue = xQueueCreate( ACTION_BUTTON_QUEUE_EVENTS_DEEP, sizeof( ActionButtonEvent ));
And Finally, if I increment the Interrupt Priority for the RX interruption to 4 it works fine.
Can someone help me with this issue?
Why isnt the UART interruption working even when the scheduler didnt started yet and moreover why I have to use such a high priority when I initialize thos system Objects?
Thanks in advance
Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.