Exemple #1
0
/****************************************************************************
 Function
    IntUart1Handler

 Parameters
    None.

 Returns
    None.

 Description
    Interrupt Handle for the uart. with the PIC32 architecture both send and receive are handled within the same interrupt

 Notes


 Author
 Max Dunne, 2011.11.10
 ****************************************************************************/
void __ISR(_UART1_VECTOR, ipl4) IntUart1Handler(void)
{
    if (mU1RXGetIntFlag()) {
        mU1RXClearIntFlag();
        writeBack(receiveBufferUart1, (unsigned char) U1RXREG);
    }
    if (mU1TXGetIntFlag()) {
        mU1TXClearIntFlag();
        if (!(getLength(transmitBufferUart1) == 0)) {
            U1TXREG = readFront(transmitBufferUart1);
        }
    }
}
//*******************************************************************************************
// UART 1 interrupt handler
// it is set at priority level 2
//*******************************************************************************************
void __ISR(_UART1_VECTOR, ipl2) IntUart1Handler(void)
{
unsigned char theChar;

	// Is this an RX interrupt?
	if (mU1RXGetIntFlag())
	{

		theChar	=	ReadUART1();
		store_char(theChar, &rx_buffer1);

		// Clear the RX interrupt Flag (must be AFTER the read)
	    mU1RXClearIntFlag();
	}

	// We don't care about TX interrupt
	if ( mU1TXGetIntFlag() )
	{
		mU1TXClearIntFlag();
	}
}
Exemple #3
0
//*********************************************
//********* UART 1 interrupt handler **********
// Action: Read char received via UART1
//*********************************************
void __ISR(_UART1_VECTOR, ipl2) IntUart1Handler(void)
{
	 // Is this an RX interrupt?
	if(mU1RXGetIntFlag())
	{
		// Clear the RX interrupt Flag
	    mU1RXClearIntFlag();	
		
  		USART_Received_Data = USART_RxData_Reg;   // Read received data
  		fUSART_Receive_Set;                       // Set flag
  		//Return Echo:
  		USART_Received_Data++;
  		USART_Send_Data(USART_Received_Data);
  		
	}

	// We don't care about TX interrupt
	if ( mU1TXGetIntFlag() )
	{
		mU1TXClearIntFlag();
	}
}