modiallen wrote on Wednesday, May 02, 2012:
i think, i found the reason for the problem now.
it was not detected stackoverflow, the freertos could not find it out every time it happend.
here is the code:
the receiving task:
void SemaphorTestTask(void *pvParameters)
for( ;; )
if (xQueueReceive(xPROTQueue,&ReceivedByte,portMAX_DELAY)== pdPASS)
if (count == 136)
halLcdPrintLine( " www.FreeRTOS.org", 0, OVERWRITE_TEXT );
and here ist the ISR:
__interrupt void USCI_A1_ISR(void)
portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE;
ReceivedByte = UCA1RXBUF;
portYIELD_FROM_ISR( xHigherPriorityTaskWoken );
this implementation is working without any problem.