This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

sysbios下gpio中断进不了中断服务

Other Parts Discussed in Thread: SYSBIOS

 大家好 我sysbios下gpio中断进不了中断服务

gpio初始化如下:

HWREG(SOC_DSC_BASE_REGS + SOC_DSC_KICK0) = 0x83e70b13;
HWREG(SOC_DSC_BASE_REGS + SOC_DSC_KICK1) = 0x95a4f1e0;
 
//19脚做GPIO
GPIOPinMuxSet(SOC_DSC_BASE_REGS + SOC_DSC_PIN_CONTROL_0, GPIO19_TIMO1,    GPIO_NORMAL_ENABLED);
 
HWREG(SOC_DSC_BASE_REGS + SOC_DSC_KICK0) =0x00000001;
HWREG(SOC_DSC_BASE_REGS + SOC_DSC_KICK1) =0x00000001;
 
//GPIO19设为输入 
GPIODirModeSet(SOC_GPIO_0_REGS, GPIO19_TIMO1,    GPIO_DIR_INPUT);
//下降沿触发
GPIOIntTypeSet(SOC_GPIO_0_REGS, GPIO19_TIMO1,    GPIO_INT_TYPE_FALLEDGE);
//使能 GPIO中断
GPIOBankIntEnable(SOC_GPIO_0_REGS); 
 
GPIO中断映射如下:

Void GPIOIntRegister(UArg a0, UArg a1)
{
 Int eventId;
 Hwi_Params params;

 Error_Block eb;
 Error_init(&eb);

//GPIO中断
CpIntc_mapSysIntToHostInt(0, 3, 6);                //3是GPINT19对应的CIC0 INPUT EVENT 6是CIC0_OUT
CpIntc_dispatchPlug(3, &GPIOISR, 3, TRUE);
CpIntc_enableHostInt(0, 6);
eventId = CpIntc_getEventId(6);
Hwi_Params_init(&params);
params.eventId = eventId;
params.arg = 6;
params.enableInt = TRUE;
Hwi_create(6, &CpIntc_dispatch, &params, &eb);//这里的6是Core0系统interrupt 6 
Hwi_enable();
}

这个映射关系应该不会有错 因为用这种方法调试过uart mcbsp都是没问题的  

uart mcbsp gpio的中断都是需要通过CIC0映射到系统的

并且用裸机程序测过 gpio中断可以进入中断服务 说明硬件没有问题

 

应该是程序那块还有问题???

https://e2echina.ti.com/question_answer/dsp_arm/c6000_multicore/f/53/p/131536/621936#621936

遇到的和我的问题是一样的!

谢谢大家了!