mirror of
https://github.com/FreeRTOS/FreeRTOS-Kernel.git
synced 2025-04-20 05:21:59 -04:00
Update to use new xQueueSendFromISR() and xSemaphoreGiveFromISR() function semantics.
This commit is contained in:
parent
c1e9f859c8
commit
8cf6a70c9e
|
@ -215,14 +215,14 @@ void vSerialClose( xComPortHandle xPort )
|
||||||
|
|
||||||
void vUARTInterruptHandler( void )
|
void vUARTInterruptHandler( void )
|
||||||
{
|
{
|
||||||
portBASE_TYPE xTaskWokenByTx = pdFALSE, xTaskWokenByPost = pdFALSE;
|
portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE;
|
||||||
portCHAR cChar;
|
portCHAR cChar;
|
||||||
|
|
||||||
if( USART_GetITStatus( USART1, USART_IT_TXE ) == SET )
|
if( USART_GetITStatus( USART1, USART_IT_TXE ) == SET )
|
||||||
{
|
{
|
||||||
/* The interrupt was caused by the THR becoming empty. Are there any
|
/* The interrupt was caused by the THR becoming empty. Are there any
|
||||||
more characters to transmit? */
|
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
|
/* A character was retrieved from the queue so can be sent to the
|
||||||
THR now. */
|
THR now. */
|
||||||
|
@ -237,10 +237,10 @@ portCHAR cChar;
|
||||||
if( USART_GetITStatus( USART1, USART_IT_RXNE ) == SET )
|
if( USART_GetITStatus( USART1, USART_IT_RXNE ) == SET )
|
||||||
{
|
{
|
||||||
cChar = USART_ReceiveData( USART1 );
|
cChar = USART_ReceiveData( USART1 );
|
||||||
xTaskWokenByPost = xQueueSendFromISR( xRxedChars, &cChar, xTaskWokenByPost );
|
xQueueSendFromISR( xRxedChars, &cChar, &xHigherPriorityTaskWoken );
|
||||||
}
|
}
|
||||||
|
|
||||||
portEND_SWITCHING_ISR( xTaskWokenByPost || xTaskWokenByTx );
|
portEND_SWITCHING_ISR( xHigherPriorityTaskWoken );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -371,6 +371,7 @@ void vApplicationTickHook( void )
|
||||||
{
|
{
|
||||||
static unsigned portLONG ulCallCount;
|
static unsigned portLONG ulCallCount;
|
||||||
static const xLCDMessage xMemsMessage = { mainUPDATE_BALL_MESSAGE, NULL };
|
static const xLCDMessage xMemsMessage = { mainUPDATE_BALL_MESSAGE, NULL };
|
||||||
|
static portBASE_TYPE xHigherPriorityTaskWoken;
|
||||||
|
|
||||||
/* Periodically send a message to the LCD task telling it to update
|
/* Periodically send a message to the LCD task telling it to update
|
||||||
the MEMS input, and then if necessary the LCD. */
|
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 )
|
if( ulCallCount >= mainMEMS_DELAY )
|
||||||
{
|
{
|
||||||
ulCallCount = 0;
|
ulCallCount = 0;
|
||||||
xQueueSendFromISR( xLCDQueue, &xMemsMessage, pdFALSE );
|
xHigherPriorityTaskWoken = pdFALSE;
|
||||||
|
xQueueSendFromISR( xLCDQueue, &xMemsMessage, &xHigherPriorityTaskWoken );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
Loading…
Reference in a new issue