Example #1
0
__interrupt void USART1RX_ISR (void) {
   debugpins_isr_set();
   if (uart_isr_rx()==1) {                       // UART: RX
      __bic_SR_register_on_exit(CPUOFF);
   }
   debugpins_isr_clr();
}
Example #2
0
void main()
{
	uart_init(9600);  // set BAUD-rate
	uart_isr_rx(1);  // enable the ISR
	vt_init();  // initialize uart_ansi library

	vt_set_key_handler(&key_handler);  // assign our custom handler

	sei();

	put_str_P(uart, PSTR("UART key handler test!\r\n"));

	while(1);
}
Example #3
0
void isr()
{
	unsigned int irqs;

	cpustats_enter();

	irqs = irq_pending() & irq_getmask();

	if(irqs & IRQ_UARTRX)
		uart_isr_rx();
	if(irqs & IRQ_UARTTX)
		uart_isr_tx();

	if(irqs & IRQ_TIMER0)
		time_isr();

	if(irqs & IRQ_AC97CRREQUEST)
		snd_isr_crrequest();
	if(irqs & IRQ_AC97CRREPLY)
		snd_isr_crreply();
	if(irqs & IRQ_AC97DMAR)
		snd_isr_dmar();
	if(irqs & IRQ_AC97DMAW)
		snd_isr_dmaw();

	if(irqs & IRQ_PFPU)
		pfpu_isr();

	if(irqs & IRQ_TMU)
		tmu_isr();
	
	if(irqs & IRQ_USB)
		usb_isr();

	cpustats_leave();
}