19.6.66. IRQ(中断资源描述符宏)
语法 :
IRQ ( EdgeLevel, ActiveLevel, Shared, DescriptorName ) {InterruptList} => Buffer
参数
EdgeLevel 描述中断是边沿触发(Edge)还是电平触发(Level)。字段 DescriptorName._HE 会被自动创建以引用资源描述符的这部分,其中“1”表示 Edge,“0”表示 Level。
ActiveLevel 描述中断是高电平有效(ActiveHigh)还是低电平有效(ActiveLow)。字段 DescriptorName._LL 会被自动创建以引用资源描述符的这部分,其中“1”表示 ActiveLow,“0”表示 ActiveHigh。
Shared 描述该中断是否可以与其他设备共享(Shared)或不能共享(Exclusive),以及它是否能够从低功耗空闲状态或系统睡眠状态唤醒系统(SharedAndWake 或 ExclusiveAndWake)。字段 DescriptorName._SHR 会被自动创建以引用资源描述符的这部分,其中“1”表示 Shared,“0”表示 Exclusive。如果未指定任何内容,则假定为 Exclusive。
DescriptorName 是一个可选参数,用于指定一个整数常量的名称,该常量将在当前作用域中创建,并包含此资源描述符在当前资源模板缓冲区内的偏移量。预定义的描述符字段名称可以附加到该名称后,以通过 Buffer Field 运算符访问描述符中的各个字段。
InterruptList 是一个以逗号分隔的整数列表,取值范围为 0 到 15,至少需要一个值。列表中不能有重复项。
说明
IRQ 宏求值为一个包含 IRQ 资源描述符的缓冲区。IRQ 描述符的格式见第 6.4.2.1 节。此宏设计用于 ResourceTemplate(资源到缓冲区转换宏)内部。