三星的中断及GPIO口中断的申请

    s3c_gpio_cfgpin(HdPhone_GpioPin, S3C_GPIO_SFN(2));        //配置GPIO11为外中断
     s3c_gpio_setpull(HdPhone_GpioPin, S3C_GPIO_PULL_NONE);  //不上拉也不下拉,硬件默认拉高
     set_irq_type(HdPhone_EintPin, IRQ_TYPE_EDGE_BOTH);      //插入跟拔出耳机都会触发中断

     if(readl(S3C64XX_GPNDAT)&(1<<11))                                    //如果上电默认是喇叭,设置通道;否则设置耳机
    {
            ac97_write(codec, AC97_REC_GAIN, OUTPUT_VALUE_SPK);
     }
     else
     {                                                                  
             ac97_write(codec, AC97_REC_GAIN, OUTPUT_VALUE_HP);
      }

      ret = request_irq(HdPhone_EintPin, s3c6400_9713HdSp_irq,    //给EINT11注册中断和中断处理函数,参数包括中断方式,
                     IRQF_DISABLED, "HdphonSpeak", NULL);                    //中断名

三星的终端机制
全部使能,除了几个····
在init系统的时候有关于中断的设置。
64个vic中断
5个时钟中断
64+5后面的就叫S3C_IRQ_EINT_BASE S3C_IRQ(64+5)
S3C_EINT(0-11)  对应的叫Ext. Interrupt[0-11]
而其他的S3C_EINT_GROUPT则对应其他的,直接把定义后的中断脚写在request_irq中就可以了。

 

之后:我的代码如下:

#define CHG_DONE_EINT  IRQ_EINT_GROUP(8, 8)

 

 if (request_irq(CHG_DONE_EINT, chg_full_irq, IRQF_DISABLED|IRQF_TRIGGER_FALLING, "CHG FULL INT", NULL))
 {
     printk(KERN_CRIT "[charger_probe] request CHARGER FULL INT failed/n");
     return -1;
 }

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在某些情况下,定时器中断GPIO中断可能会发生冲突,具体取决于硬件和软件的配置。下面是一些可能导致冲突的常见情况: 1. 中断优先级:如果定时器中断GPIO中断具有相同的优先级,且同时触发,则取决于具体的中断控制器处理机制,可能会出现优先级冲突。 2. 中断嵌套:如果在一个中断服务程序(ISR)中触发了另一个中断,例如在定时器中断的ISR中触发了GPIO中断,那么可能会导致中断嵌套问题。在某些情况下,这可能会导致意外的行为或系统不稳定。 3. 中断处理时间:如果定时器中断GPIO中断同时发生,并且它们的ISR执行时间较长,可能会导致其中一个中断被延迟处理或丢失。 为了避免这些冲突,你可以采取以下措施: 1. 设置适当的中断优先级:确保定时器中断GPIO中断具有不同的优先级,并根据需求设置合适的优先级。 2. 避免中断嵌套:尽量避免在一个ISR中触发另一个中断,特别是在定时器中断中触发GPIO中断。 3. 优化中断处理时间:尽量减少ISR的执行时间,避免长时间占用处理器。可以通过优化代码、使用硬件加速器或采用其他优化手段来减少中断处理时间。 总的来说,定时器中断GPIO中断可以同时使用,但需要仔细考虑配置和优化,以避免可能的冲突和问题。具体的解决方案会受到你所使用的硬件平台和软件库的限制和特性的影响。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值