GpioChangeReader 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
表示核心模式與使用者模式之間的共用迴圈緩衝區,當一般用途 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
- 繼承
- 屬性
- 實作
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) |
等候緩衝區填滿至少 計數 的專案數,此時非同步動作就會完成。 此動作是可取消的。 |