xiaolin198832 发表于 2014-8-14 16:45:52

GPL8外部中断

ok6410A板,六个s按键中断驱动可以正常中断,根据按键中断改为gpl8,却不行,是按提示写的如下,是不是中断号不对啊??

       RETAILMSG(1,(TEXT("Gpio_Setting----\r\n")));   //设置gpio为中断(GPL8)
   //v_pIOPregs->GPLPUD &= ~(0x0fff);
   v_pIOPregs->GPLCON1 &= ~(0xf);
   v_pIOPregs->GPLCON1 |= 0x3;
   //v_pIOPregs->GPLDAT |= 0x1;
   RETAILMSG(1,(TEXT("******* v_pIOPregs->GPLCON1 = %x\r\n"),v_pIOPregs->GPLCON1));      
   RETAILMSG(1,(TEXT("******* v_pIOPregs->GPLDAT = %x\r\n"),v_pIOPregs->GPLDAT));

   v_pIOPregs->EINT0CON1 &= ~(0xf);
   v_pIOPregs->EINT0CON1 |= ~(0x9);
   v_pIOPregs->EINT0MASK &= ~(0x10000) ;
   RETAILMSG(1,(TEXT("******* v_pIOPregs->EINT0CON1 = %x\r\n"),v_pIOPregs->EINT0CON1));
   RETAILMSG(1,(TEXT("******* v_pIOPregs->EINT0MASK = %x\r\n"),v_pIOPregs->EINT0MASK));

//动态申请外部中断 GPL8

IRQ = IRQ_EINT16;//物理中断号

if (!KernelIoControl(IOCTL_HAL_REQUEST_SYSINTR, &IRQ, sizeof(UINT32), &g_KeySysIntr, sizeof(UINT32), NULL))    {   

        RETAILMSG(1, (TEXT("ERROR: kEYBD: Failed to request sysintr value.\r\n")));   

        return FALSE;   

}

xiaolin198832 发表于 2014-8-14 16:47:09

改为GPL8后 无论给高低电平都没中断,麻烦看下 多谢!!!!!!!!!

xiaolin198832 发表于 2014-8-14 16:48:23

GPL8对应EINT16

独家记忆 发表于 2014-8-16 14:08:09

楼主,您这个配置看着是没有问题,不知道您是怎样测试的中断呢?:)

xiaolin198832 发表于 2014-8-23 16:09:54

哎,人生最悲剧的事情是:这板子只有一个外部中断,且这个中断只能看,不能摸...

独家记忆 发表于 2014-8-25 08:47:23

楼主,也就是说您只能使用GPL8,您的中断能不能用示波器或者其他设备看一下呢?:)

yxczd1314 发表于 2014-8-25 10:12:18

xiaolin198832 发表于 2014-8-26 10:22:09

OK6410A 板子,GPL8输入 输出 都用不了,中断也用不了,我查了下手册,GPL8还有其他功能,是不是复用了,我看论坛上貌似也有其他用户说这个用不了,0000=输入, 0001=输出 ,0010=Host I/F ADDR ,0011=Ext.Interrupt,0100=保留 ,0101=CE_CF,,能不能告知下,Host I/F ADDR和0101=CE_CF这2个功能是什么功能,wince中对应着什么驱动??

独家记忆 发表于 2014-8-26 15:33:37

楼主,您好,还是打电话咨询一下吧,可以讨论一下、、、:)
页: [1]
查看完整版本: GPL8外部中断