The only task in this example is uartPrintOutTask:
void uartPrintOutTask( void* NotUsed)
{
char nextByte;
STM_UartInit(USART2, 9600, NULL, NULL);
startReceiveInt();
while(1)
{
xQueueReceive(uart2_BytesReceived, &nextByte, portMAX_DELAY);
SEGGER_SYSVIEW_PrintfHost("%c", nextByte);
}
}
uartPrintOutTask does the following:
- Performs all peripheral hardware initialization by calling STM_UartInit
- Starts an interrupt-based reception by calling startReceiveInt
- Consumes and prints each character as it is added to the uart2_BytesReceived queue by calling xQueueReceive