/* The task that is woken by the ISR that processes GPIO interrupts originating from the push button.  */
static void vButtonHandlerTask(void *pvParameters)
/* The task that is woken by the ISR that processes GPIO interrupts originating from the push button.  */
static void vButtonHandlerTask(void *pvParameters)
{
const portCHAR *pcInterruptMessage = "Int";
	for( ;; )
	{
		while( xSemaphoreTake( xButtonSemaphore, portMAX_DELAY ) != pdPASS );
		UARTIntDisable( UART0_BASE, UART_INT_TX );
		{
			pcNextChar = cMessage;
			if( !( HWREG( UART0_BASE + UART_O_FR ) & UART_FR_TXFF ) )
			{
				HWREG( UART0_BASE + UART_O_DR ) = *pcNextChar;
			}
			pcNextChar++;
		}
		UARTIntEnable(UART0_BASE, UART_INT_TX);
		xQueueSend( xPrintQueue, &pcInterruptMessage, portMAX_DELAY );
		vTaskDelay( mainDEBOUNCE_DELAY );
		xSemaphoreTake( xButtonSemaphore, mainNO_DELAY );
	}
}