Partager via


GpioChangeReader Classe

Définition

Représente une mémoire tampon circulaire partagée entre le mode noyau et le mode utilisateur dans lequel les horodatages haute résolution sont placés lorsqu’une broche d’E/S à usage général (GPIO) change de valeur.

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
Héritage
Object Platform::Object IInspectable GpioChangeReader
Attributs
Implémente

Configuration requise pour Windows

Famille d’appareils
Windows 10 Creators Update (introduit dans 10.0.15063.0)
API contract
Windows.Devices.DevicesLowLevelContract (introduit dans v3.0)

Remarques

Le mode noyau place un horodatage dans la mémoire tampon lorsqu’une broche change de valeur, et le mode utilisateur supprime des éléments de la mémoire tampon. Un dépassement de capacité se produit lorsqu’il n’y a plus suffisamment d’espace dans la mémoire tampon pour placer des horodatages supplémentaires. En cas de dépassement de capacité, d’autres événements ne sont pas enregistrés et la propriété IsOverflowed retourne true.

Cette classe n’est pas thread-safe. L’appel simultané des fonctions de cette classe à partir de plusieurs threads aura des résultats imprévisibles.

Constructeurs

GpioChangeReader(GpioPin)

Crée un GpioChangeReader associé à la broche spécifiée. Un seul GpioChangeReader peut être associé à une broche à un moment donné.

GpioChangeReader(GpioPin, Int32)

Crée un GpioChangeReader associé à la broche spécifiée et à la capacité minimale spécifiée pour les enregistrements de modification. Un seul GpioChangeReader peut être associé à une broche à un moment donné.

Propriétés

Capacity

Obtient le nombre maximal d’enregistrements de modification que gpioChangeReader peut stocker à la fois.

IsEmpty

Obtient si le lecteur ne contient actuellement aucun enregistrement de modification.

IsOverflowed

Obtient si une tentative de placer un enregistrement de modification dans la mémoire tampon du lecteur a échoué en raison du remplissage de la mémoire tampon.

IsStarted

Obtient si l’enregistrement des modifications de broche est actuellement actif.

Length

Obtient le nombre d’enregistrements actuellement dans le lecteur de modifications.

Polarity

Obtient ou définit la polarité des transitions qui seront enregistrées. La polarité ne peut être modifiée que lorsque l’enregistrement des modifications de broche n’est pas démarré.

Méthodes

Clear()

Ignore tous les enregistrements de modification de la mémoire tampon du lecteur.

Close()

Ferme le lecteur de modifications, libérant la mémoire tampon associée et dissociant le lecteur de sa broche.

Dispose()

Exécute les tâches définies par l'application associées à la libération ou à la redéfinition des ressources non managées.

GetAllItems()

Supprime et retourne tous les éléments actuels dans la mémoire tampon du lecteur.

GetNextItem()

Récupère et supprime le premier enregistrement de modification inséré de la mémoire tampon du lecteur.

PeekNextItem()

Récupère l’enregistrement de modification inséré précédemment à partir de la mémoire tampon du lecteur, sans le supprimer.

Start()

Démarre l’enregistrement des modifications dans la polarité des broches. Cette méthode ne peut être appelée que lorsque l’enregistrement des modifications n’est pas déjà actif.

Stop()

Arrêtez l’enregistrement des modifications dans la polarité des broches. Cette méthode peut uniquement être appelée lorsque l’enregistrement des modifications est actuellement actif.

WaitForItemsAsync(Int32)

Attend que la mémoire tampon se remplisse avec au moins le nombre d’éléments, auquel moment l’action asynchrone se termine. Cette action est annulable.

S’applique à