GpioChangeReader Clase

Definición

Representa un búfer circular compartido entre el modo kernel y el modo de usuario en el que se colocan las marcas de tiempo de alta resolución cuando cambia un valor de patilla de E/S de uso general (GPIO).

public ref class GpioChangeReader sealed : IClosable
/// [Windows.Foundation.Metadata.Activatable(Windows.Devices.Gpio.IGpioChangeReaderFactory, 196608, "Windows.Devices.DevicesLowLevelContract")]
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Devices.DevicesLowLevelContract, 196608)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
class GpioChangeReader final : IClosable
[Windows.Foundation.Metadata.Activatable(typeof(Windows.Devices.Gpio.IGpioChangeReaderFactory), 196608, "Windows.Devices.DevicesLowLevelContract")]
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Devices.DevicesLowLevelContract), 196608)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
public sealed class GpioChangeReader : System.IDisposable
function GpioChangeReader(pin, minCapacity)
Public NotInheritable Class GpioChangeReader
Implements IDisposable
Herencia
Object Platform::Object IInspectable GpioChangeReader
Atributos
Implementaciones

Requisitos de Windows

Familia de dispositivos
Windows 10 Creators Update (se introdujo en la versión 10.0.15063.0)
API contract
Windows.Devices.DevicesLowLevelContract (se introdujo en la versión v3.0)

Comentarios

El modo kernel coloca una marca de tiempo en el búfer cuando un pin cambia el valor y el modo de usuario quita los elementos del búfer. Un desbordamiento se produce cuando ya no hay suficiente espacio en el búfer para colocar marcas de tiempo adicionales. Tras el desbordamiento, no se registran más eventos y la propiedad IsOverflowed devolverá true.

Esta clase no es segura para subprocesos. Las funciones de llamada de esta clase simultáneamente desde varios subprocesos tendrán resultados imprevisibles.

Constructores

GpioChangeReader(GpioPin)

Crea un nuevo Objeto GpioChangeReader asociado al pin especificado. Solo un solo GpioChangeReader puede estar asociado a un pin en un momento dado.

GpioChangeReader(GpioPin, Int32)

Crea un nuevo Objeto GpioChangeReader asociado al pin especificado y con la capacidad mínima especificada para los registros de cambio. Solo un solo GpioChangeReader puede estar asociado a un pin en un momento dado.

Propiedades

Capacity

Obtiene el número máximo de registros de cambios que GpioChangeReader puede almacenar a la vez.

IsEmpty

Obtiene si actualmente hay cero registros de cambios en el lector.

IsOverflowed

Obtiene si se ha producido un error al intentar colocar un registro de cambio en el búfer del lector debido a que el búfer está lleno.

IsStarted

Obtiene si la grabación de cambios de patillas está activa actualmente.

Length

Obtiene el número de registros que se encuentran actualmente en el lector de cambios.

Polarity

Obtiene o establece la polaridad de las transiciones que se registrarán. La polaridad solo se puede cambiar cuando no se inicia la grabación de cambios de patillas.

Métodos

Clear()

Descarta todos los registros de cambios del búfer del lector.

Close()

Cierra el lector de cambios, liberando el búfer de memoria asociado y desasociando el lector de su pin.

Dispose()

Realiza tareas definidas por la aplicación asociadas a la liberación o al restablecimiento de recursos no administrados.

GetAllItems()

Quita y devuelve todos los elementos actuales en el búfer del lector.

GetNextItem()

Recupera y quita el registro de cambio insertado más antiguo del búfer del lector.

PeekNextItem()

Recupera el registro de cambios insertado anteriormente del búfer del lector, sin quitarlo.

Start()

Inicia la grabación de cambios en la polaridad de patillas. Solo se puede llamar a este método cuando la grabación de cambios aún no está activa.

Stop()

Detenga la grabación de cambios en la polaridad de patillas. Solo se puede llamar a este método cuando la grabación de cambios está activa actualmente.

WaitForItemsAsync(Int32)

Espera a que el búfer se rellene con al menos el número de elementos, momento en el que se completará la acción asincrónica. Esta acción es cancelable.

Se aplica a