19.6.57. GpioIo(GPIO 连接 IO 资源描述符宏)
语法 :
GpioIo (Shared, PinConfig, DebounceTimeout, DriveStrength,
IORestriction, ResourceSource, ResourceSourceIndex, ResourceUsage,
DescriptorName, VendorData) {PinList}
参数
Shared 是可选参数,可以是 Shared 或 Exclusive。如果未指定,则假定为 Exclusive。位字段名称 _SHR 会被自动创建,以引用资源描述符的这一部分。
PinConfig 可以是 PullDefault、PullUp、PullDown、PullNone 之一,或处于 128-255 范围内的厂商提供值。位字段名称 _PPI 会被自动创建,以引用资源描述符的这一部分。
DebounceTimeout 是可选参数,用于指定硬件去抖等待时间,单位为百分之一毫秒。位字段名称 _DBT 会被自动创建,以引用资源描述符的这一部分。
DriveStrength 是可选参数,用于指定引脚的输出驱动能力,单位为百分之一毫安。位字段名称 _DRS 会被自动创建,以引用资源描述符的这一部分。
IORestriction 是可选参数,可以是 IoRestrictionInputOnly、IoRestrictionOutputOnly、IoRestrictionNone 或 IORestrictionNoneAndPreserve。IORestriction 限制引脚可被访问的模式(输入或输出)。它们还确保在驱动程序卸载期间或资源已被驱动程序断开连接期间,引脚配置得以保留。如果未指定,则假定为 IoRestrictionNone。位字段名称 _IOR 会被自动创建,以引用资源描述符的这一部分。
ResourceSource 是一个字符串,用于唯一标识此描述符所引用的 GPIO 控制器。ResourceSource 可以是完全限定名、相对名称,或使用命名空间搜索规则的名称段。
ResourceSourceIndex 是可选参数,在此修订版中始终为 0。
ResourceUsage 是可选参数,在此修订版中始终为 ResourceConsumer。
DescriptorName 是可选参数,用于指定一个整数常量的名称,该常量将在当前作用域中创建,并包含此资源描述符在当前资源模板缓冲区内的偏移量。可将预定义的描述符字段名称附加到该名称之后,以便通过 Buffer Field 运算符访问描述符内的各个字段。
VendorData 是可选参数,用于指定一个 RawDataBuffer,其中包含由 OS 驱动程序解码的厂商定义字节数据。位字段名称 _VEN 会被自动创建,以引用资源描述符的这一部分。
PinList 是 ResourceSource 上由此描述符描述的引脚编号列表。位字段名称 _PIN 会被自动创建,以引用资源描述符的这一部分。
说明
GpioIo 宏求值为一个缓冲区,其中包含一个 GPIO IO 连接资源描述符。该资源描述符的格式可见于GPIO 连接描述符。该宏设计用于 ResourceTemplate(资源到缓冲区转换宏)内部