GACHAŮջ
ͼ>

ɨ

 
ע ¼  
 ӹע
   ʾһ  |  ر
ܰʾ΢֤Ƶ΢ʺŰѹڣ°󶨣°΢  |  ر

dp: ĽŲĵ...

CamDSPFPGAPMLifeMore ...

 
 
 
 
 

־

 
 

microblaze gpioж  

2012-12-13 14:06:59|  ࣺ רҵ |  ǩ |ٱ |ֺС 

  LOFTER ҵƬ  |
#include "xparameters.h"
#include "xgpio_l.h"
#include "xintc.h"
#include "xgpio.h"

XIntc intc;
XGpio push_buttons;

int intc_cnt = 0;

void button_int_handler( void * basedder_p)

    xil_printf("Push_button interrupt occured %d .\r\n", intc_cnt++);
    XGpio_WriteReg(XPAR_LEDS_BASEADDR,1,~intc_cnt);
    XGpio_InterruptClear(&push_buttons, 0xFFFF);
    XIntc_Acknowledge(&intc,XPAR_INTC_0_GPIO_1_VEC_ID);
}

void delay(int cnt)
{
    int i,j;
    for(i=0;i<cnt;i++)
        for(j=0;j<256;j++);
}

XStatus gpio_irq_init(void)
{
    XStatus Status;
    // initialize gpio
    XGpio_Initialize(&push_buttons, XPAR_PUSH_BUTTONS_DEVICE_ID);
    XGpio_SetDataDirection(&push_buttons, 10xFFFF); //set input
    XGpio_InterruptEnable(&push_buttons, 0xFFFF); //
    XGpio_InterruptGlobalEnable(&push_buttons);

    // initialize Interrupt controller 
    Status = XIntc_Initialize(&intc, (Xuint16)XPAR_INTC_0_DEVICE_ID);
    if (Status != XST_SUCCESS)
    {    return XST_FAILURE;    }
    Status = XIntc_SelfTest(&intc);
    if (Status != XST_SUCCESS)
    {    return XST_FAILURE;    }
    Status = XIntc_Connect(&intc, XPAR_INTC_0_GPIO_1_VEC_ID, (XInterruptHandler)button_int_handler, &push_buttons);
    if (Status != XST_SUCCESS)
    {    return XST_FAILURE;}
    Status = XIntc_Start(&intc, XIN_REAL_MODE);
    if (Status != XST_SUCCESS)
    {    return XST_FAILURE; }
    XIntc_Enable(&intc, XPAR_INTC_0_GPIO_1_VEC_ID);
    microblaze_enable_interrupts();

    return XST_SUCCESS;
}

int main (void)
{
    char m;
    //HSB:LSB <--> D7:D14, 01
    for(m=0;m<8;m++)
    {
        XGpio_WriteReg(XPAR_LEDS_BASEADDR,1,~(1<<m));
        delay(10000);
    }

    gpio_irq_init();

    xil_printf("Push_button interrupt test start...\r\n");

    while(1)
    {
    }
}

 
 
Ķ(614)| (0)
Ƽ

ʷϵĽ

LOFTERĸ

<#--־Ⱥ־--> <#--Ƽ־--> <#--ü¼--> <#--Ƽ--> <#--Ķ--> <#--ҳƼ--> <#--ʷϵĽ--> <#--Ƽ־--> <#--һƪһƪ--> <#-- ȶ --> <#-- Ź --> <#--ұģṹ--> <#--ģṹ--> <#--ģṹ--> <#--ͶƱ-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

ҳ

ҵƬ - ͷ - ֻ - LOFTER APP - Ĵ˲

׹˾Ȩ ©1997-2016