void UART2_Handler( void ) { portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE; char cChar; if( S_UART_GetITStatus(S_UART_INTSTATUS_RXI) != RESET ) { S_UART_ClearITPendingBit(S_UART_INTSTATUS_RXI); cChar = S_UART_ReceiveData(); xQueueSendFromISR( xRxedChars, &cChar, &xHigherPriorityTaskWoken ); } portEND_SWITCHING_ISR( xHigherPriorityTaskWoken ); }
uint8_t S_UartGetc() { while( (UART2->STATE & S_UART_STATE_RX_BUF_FULL) == 0 ); return (uint8_t)S_UART_ReceiveData(); }