xQueueSendFromISR

Posted by ch2 on January 25, 2006
xQueueHDLC = xQueueCreate( 100, sizeof( u8 ) );
...
in IRQ :
xTaskWokenByPost = pdFALSE;
for(addr = recv_buf_addr; addr<(recv_buf_addr + 150);(addr+=1))
{
cIn = (*(u8 *)addr);
xTaskWokenByPost = xQueueSendFromISR( xQueueHDLC, &cIn, xTaskWokenByPost );
}


if we create a queue with 100 bytes and we send more than 100 bytes in the queue, how FreeRTOS is managing this?
Or we must manage it with a counter?
Thanks.
Chris.

RE: xQueueSendFromISR

Posted by Nobody/Anonymous on January 25, 2006
The character will be lost! If there is no room on the queue the ISR cannot block so the character has nowhere to go.