Esempio n. 1
0
void USART2_IRQHandler(void){
	UART_DESC * urt = uartRegister[2];

	urtRcvRq(urt);

	USART_ClearITPendingBit(urt->usartBase, USART_IT_RXNE);
	NVIC_ClearPending(USART2_IRQn);	
}
Esempio n. 2
0
void USBINT0_IRQHandler()
{
   uint8_t intrusb = GET8(USB0_CORE+INTRUSB);
   uint16_t intrtx = GET16(USB0_CORE+INTRTX);
   uint16_t intrrx = GET16(USB0_CORE+INTRRX);
   NVIC_ClearPending(USBINT0_IRQn);
   
   if(intrusb & 0b10)	// resume interrupt
   {
      // resume routine
      USB_DBG("resume\n");
   }
   if(intrusb & 0b1000000)	// session req interrupt
   {
      // session req routine
      USB_DBG("session req\n");
   }
   if(intrusb & 0b10000000)	// Vbus error interrupt
   {
      // Vbus error routine
      USB_DBG("vbus\n");
   }
   if(intrusb & 0b1)	// suspend interrupt
   {
      // suspend routine
      USB_DBG("suspend\n");
   }
   if(intrusb & 0b10000)	// connect interrupt
   {
      // connect routine
      USB_DBG("connect\n");
   }
   if(intrusb & 0b100000)	// disconnect interrupt
   {
      // disconnect routine
      USB_DBG("disconnect\n");
   }
   if(intrusb & 0b100)// reset/babble interrupt
   {
      if(0)	// host mode?
      {
         // babble routine
         USB_DBG("babble\n");
      }
      else
      {
         // reset routine
         USB_DBG("reset\n");
      }
   }
   if(intrusb & 0b1000)	// SOF interrupt
   {
      // SOF routine
      USB_DBG("sof\n");
   }
   if(intrtx & 0b1)	// endpoint 0 interrupt
   {
      // endpoint 0 routine
      //USB_DBG("EP0\n");
      USB0_ENDP0Handler();
   }
   if(intrtx & 0xFFFE)	// Tx endpoint interrupt
   {
      // Tx endpoint routine
      USB_DBG("TX\n");
   }
   if(intrrx & 0xFFFE)	// Rx endpoint interrupt
   {
      // Rx endpoint routine
      USB_DBG("RX\n");
   }
}