Specifications
332 www.xilinx.com Embedded System Tools Guide (EDK 6.2i)
1-800-255-7778 UG111 (v1.4) January 30, 2004
Chapter 23: Interrupt Management
R
 if ((count <<= 1) > 8) {
 count = 1;
 }
 /* Write value to gpio. 0 means light up, hence count is negated */
 gpio_data = ~count;
 XGpio_mSetDataReg(XPAR_MYGPIO_BASEADDR, gpio_data);
 /* Clear the timer interrupt */
 XTmrCtr_mSetControlStatusReg(XPAR_MYTIMER_BASEADDR, 0, csr);
 } 
}
void
main() {
 unsigned int gpio_data;
 /* Enable microblaze interrupts */
 microblaze_enable_interrupts();
/* Set the gpio as output on high 3 bits (LEDs)*/
 XGpio_mSetDataDirection(XPAR_MYGPIO_BASEADDR, 0x00);
 /* set the number of cycles the timer counts before interrupting */
 XTmrCtr_mSetLoadReg(XPAR_MYTIMER_BASEADDR, 0, 
(timer_count*timer_count+1) * 1000000);
 /* reset the timers, and clear interrupts */
 XTmrCtr_mSetControlStatusReg(XPAR_MYTIMER_BASEADDR, 0, 
XTC_CSR_INT_OCCURED_MASK | XTC_CSR_LOAD_MASK );
 /* start the timers */
 XTmrCtr_mSetControlStatusReg(XPAR_MYTIMER_BASEADDR, 0, 
XTC_CSR_ENABLE_TMR_MASK | XTC_CSR_ENABLE_INT_MASK | 
XTC_CSR_AUTO_RELOAD_MASK | XTC_CSR_DOWN_COUNT_MASK);
 /* Wait for interrupts to occur */
 while (1)
 ;
}
Example MHS File Snippet (for external interrupt signal)
PORT interrupt_in1 = interrupt_in1, DIR = IN, LEVEL = LOW, SIGIS = 
INTERRUPT
begin microblaze
parameter INSTANCE = mblaze
parameter HW_VER = 1.00.c
bus_interface DOPB = opb_bus
bus_interface DLMB = d_lmb
bus_interface ILMB = i_lmb
port INTERRUPT = interrupt_in1










