void disable_irq(int irq); void disable_irq_nosync(int irq); void enable_irq(int irq)的区别

调用这些函数中的任何一个都会更新可编程中断控制器(PIC)中指定中断的掩码,因而,这样就可以在所有的处理器上禁止或者启动 IRQ。对这些函数的调用是可以嵌套的――如果 disable_irq 被成功调用两次,在 IRQ 真正重新打开之前,需要执行两次 enable_irq 调用。从一个中断处理程序中调用这些函数是可以的,但是在处理某个 IRQ 时使能这个 IRQ,并不是一个好习惯。

首先enable_irq是使能IRQ.

disable_irq是禁止IRQ.不但会禁止给定的中断,而且也会等待当前正在执行的中断处理程序完成

 disable_irq_nosync 是立即返回的。这样,使用后者将会更快,但是可能会让你的驱动程序处于竞态下。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值