首页 > 编程知识 正文

linux gpio中断,kafka消息确认机制

时间:2023-05-06 00:48:13 阅读:134673 作者:118

8种机械键盘轴体的比较

本人要买写代码的键盘,红轴和茶轴怎么选?

驱动程序已注册终端程序:1

2

3

4

5int(unsignedintIRQ,

irq_handler_t handler,

无符号长标志是,

const char *name,

void *dev )

参数解释:

分配给Irq:的中断号码。 在某些设备(如时钟和键盘)上,该值通常是预先确定的。 在大多数其他设备上,该值可以通过探测器获得,也可以通过编程方式动态获得。

Handler: handler是指向处理此中断的实际中断处理程序的指针。 当操作系统内核接收到中断时,此函数将调用1 typedefirqreturn _ t (IRQ _ handler _ t ) int,void * )

Flags:

中断处理程序标志可以为0,也可以是以下一个或多个标志的位掩码: 在文件中定义。 这些标志中最重要的是

IRQF_DISABLE -设置此标志意味着内核在处理中断处理程序自身时禁止所有其他中断。 否则,中断处理程序可以与非自身的中断程序同时运行。 大多数中断处理程序不设置此位。 因为禁止所有插队是野蛮的行为。 这种用法保留在想要快速运行的轻量级中断处理程序中。

IRQF_SAMPLE_RANDOM -

要更改标志,必须首先介绍内核熵池(entropy pool )

Linux内核使用熵描述数据的随机性。 熵(entropy )是描述系统混乱无序程度的物理量,某一系统的熵越大,表示该系统的有序性越差,即不确定性越大。 信息学中,熵用于表示符号和系统的不确定性,熵越大,表示系统中包含的信息量越少,不确定度越大。

由于计算机本身是一个可预测的系统,用计算机算法不可能生成真正的随机数。 但是,机器环境中充满了各种各样的噪声,硬件机器中断发生的时间、用户点击鼠标的时间间隔等完全是随机的,无法事先预测。 Linux内核实现的随机数生成器利用系统中的这些随机噪声生成高质量的随机数序列。

内核维护着用于从设备驱动程序和其他源收集环境噪声的熵池。 理论上,熵池中的数据是完全随机的,可以产生真正的随机数序列。 为了跟踪熵池中数据的随机性,内核在将数据添加到池中时会估计数据的随机性。 这个过程称为熵估计。 熵估计表示池中随机数的位数,该值越大,表示池中数据的随机性越好。

因此,具有随机性质的中断事件当然是内核熵池的贡献者之一,通过设置. IRQF_SAMPLE_RANDOM, 表明该设备可以为entropy pool做出贡献.内核熵池负责提供各种随机事件以导出真随机数.修改标志时,来自该设备的中断的间隔时间将以熵的形式填充熵池如果你的设备以预期的速度发生中断,请不要设置这个标志,比如系统计时器。 相反,很多其他硬件产生中断的速度是不可预测的,所以都是很好的熵源。

IRQF_TIMER -

标志的变更特别是为了系统计时器的中断处理而提供的

IRQF_SHARED -

表示在多个中断处理程序之间共享时可以断开连接。 每个在同一线上注册的处理程序都必须指定此标志。 如果未指定,则每条线上只有一个处理程序。

Name:

与中断相关的设备的ASCII文本表示“keyboard”与. pc计算机的键盘中断相对应。 这些名称将在/proc/irq和/proc/interrupts文件中使用,以便可以与用户进行通信

第五个参数dev用于共享中短路线。 如果需要释放单个中断处理程序,dev将提供唯一的标识cookie,并从共享中短线的许多中断处理程序中删除指定的一个。 如果不需要共享中短线,则该参数可以为null。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。