共用方式為


GpioChangeReader 類別

定義

表示核心模式與使用者模式之間的共用迴圈緩衝區,當一般用途 I/O () PIN 變更值時,會將高解析度時間戳記放在其中。

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
繼承
Object Platform::Object IInspectable GpioChangeReader
屬性
實作

Windows 需求

裝置系列
Windows 10 Creators Update (已於 10.0.15063.0 引進)
API contract
Windows.Devices.DevicesLowLevelContract (已於 v3.0 引進)

備註

核心模式會在釘選變更值時將時間戳記放入緩衝區中,而使用者模式會從緩衝區中移除專案。 當緩衝區中不再有足夠的空間放置額外的時間戳記時,就會發生溢位。 溢位時,不會記錄進一步的事件,且 IsOverflowed 屬性會傳回 true。

這個類別不是安全線程。 從多個執行緒同時呼叫此類別的函式將會產生無法預期的結果。

建構函式

GpioChangeReader(GpioPin)

建立與指定針腳相關聯的新 GpioChangeReader。 在任何指定時間,只有單一 GpioChangeReader 可以與針腳相關聯。

GpioChangeReader(GpioPin, Int32)

建立與指定針腳相關聯的新 GpioChangeReader,以及變更記錄的指定最小容量。 在任何指定時間,只有單一 GpioChangeReader 可以與針腳相關聯。

屬性

Capacity

取得 GpioChangeReader 可以一次儲存的變更記錄數目上限。

IsEmpty

取得讀取器中目前是否有零筆變更記錄。

IsOverflowed

取得嘗試將變更記錄放入讀取器緩衝區是否因為緩衝區已滿而失敗。

IsStarted

取得釘選變更錄製目前是否為使用中。

Length

取得目前在變更讀取器中的記錄數目。

Polarity

取得或設定將記錄之轉換的極性。 只有在釘選變更錄製未啟動時,才能變更極性。

方法

Clear()

捨棄讀取器緩衝區中的所有變更記錄。

Close()

關閉變更讀取器,釋放相關聯的記憶體緩衝區,並從其針腳解除關聯讀取器。

Dispose()

執行與釋放 (Free)、釋放 (Release) 或重設 Unmanaged 資源相關聯之應用程式定義的工作。

GetAllItems()

移除並傳回讀取器緩衝區中目前的所有專案。

GetNextItem()

從讀取器的緩衝區擷取並移除最早插入的變更記錄。

PeekNextItem()

從讀取器的緩衝區擷取先前插入的變更記錄,而不移除它。

Start()

開始在針腳極性中錄製變更。 只有在變更錄製尚未使用時,才能呼叫這個方法。

Stop()

停止在針腳極性中錄製變更。 只有在變更錄製目前為使用中時,才能呼叫這個方法。

WaitForItemsAsync(Int32)

等候緩衝區填滿至少 計數 的專案數,此時非同步動作就會完成。 此動作是可取消的。

適用於