Update to use new xQueueSendFromISR() and xSemaphoreGiveFromISR() function semantics.

This commit is contained in:
Richard Barry 2008-04-12 23:34:49 +00:00
parent c1e9f859c8
commit 8cf6a70c9e
2 changed files with 7 additions and 5 deletions

View file

@ -215,14 +215,14 @@ void vSerialClose( xComPortHandle xPort )
void vUARTInterruptHandler( void )
{
portBASE_TYPE xTaskWokenByTx = pdFALSE, xTaskWokenByPost = pdFALSE;
portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE;
portCHAR cChar;
if( USART_GetITStatus( USART1, USART_IT_TXE ) == SET )
{
/* The interrupt was caused by the THR becoming empty. Are there any
more characters to transmit? */
if( xQueueReceiveFromISR( xCharsForTx, &cChar, &xTaskWokenByTx ) == pdTRUE )
if( xQueueReceiveFromISR( xCharsForTx, &cChar, &xHigherPriorityTaskWoken ) == pdTRUE )
{
/* A character was retrieved from the queue so can be sent to the
THR now. */
@ -237,10 +237,10 @@ portCHAR cChar;
if( USART_GetITStatus( USART1, USART_IT_RXNE ) == SET )
{
cChar = USART_ReceiveData( USART1 );
xTaskWokenByPost = xQueueSendFromISR( xRxedChars, &cChar, xTaskWokenByPost );
xQueueSendFromISR( xRxedChars, &cChar, &xHigherPriorityTaskWoken );
}
portEND_SWITCHING_ISR( xTaskWokenByPost || xTaskWokenByTx );
portEND_SWITCHING_ISR( xHigherPriorityTaskWoken );
}

View file

@ -371,6 +371,7 @@ void vApplicationTickHook( void )
{
static unsigned portLONG ulCallCount;
static const xLCDMessage xMemsMessage = { mainUPDATE_BALL_MESSAGE, NULL };
static portBASE_TYPE xHigherPriorityTaskWoken;
/* Periodically send a message to the LCD task telling it to update
the MEMS input, and then if necessary the LCD. */
@ -378,7 +379,8 @@ static const xLCDMessage xMemsMessage = { mainUPDATE_BALL_MESSAGE, NULL };
if( ulCallCount >= mainMEMS_DELAY )
{
ulCallCount = 0;
xQueueSendFromISR( xLCDQueue, &xMemsMessage, pdFALSE );
xHigherPriorityTaskWoken = pdFALSE;
xQueueSendFromISR( xLCDQueue, &xMemsMessage, &xHigherPriorityTaskWoken );
}
}
/*-----------------------------------------------------------*/