![]() |
mFrame
|
公開方法(Public Methods) | |
| SimpleLED (hal::digital::GeneralOutput &output, bool inverted=false) | |
| 建構新的SimpleLED物件 | |
| virtual | ~SimpleLED (void) override |
| 銷毀SimpleLED物件 | |
| virtual void | update (void) override |
| 更新LED狀態 | |
| void | setOn (void) |
| 開啟LED | |
| void | setOff (void) |
| 關閉LED | |
| void | setBlink (uint32 microseconds) |
| 設定LED為指定週期的閃爍模式 | |
公開方法(Public Methods) 繼承自 ufm::lang::Object | |
| void * | operator new (size_t n) |
| 使用運算子 new 分配記憶體 | |
| void * | operator new (size_t n, void *p) |
| 在指定記憶體上調用運算子 new | |
| virtual ufm::lang::Object & | getObject (void) override |
| 取得對應的 Object 物件 | |
| void | delay (int milliseconds) const |
| 延遲指定的毫秒數進行執行緒等待 | |
| bool | equals (Object *object) const |
| 判斷與另一物件是否為相同參照(指標型態比較) | |
| bool | equals (Object &object) const |
| 判斷與另一物件是否為相同參照(參照型態比較) | |
| void | wait (void) const |
| 使當前線程等待直到被通知 | |
| bool | wait (int timeout) const |
| 等待通知或超時 | |
| bool | yield (void) const |
| 讓執行緒讓渡控制權給同優先權的下一個執行緒 | |
| int | lock (void) const |
| 核心鎖定,鎖定期間禁止線程切換 | |
| int | unlock (void) const |
| 核心解鎖 | |
| ufm::sys::Thread * | currentThread (void) const |
| 取得當前執行緒指標 | |
| virtual int | hashcode (void) const |
| 返回對象的哈希碼值。支持這種方法是為了散列表,如HashMap提供的那樣。 | |
公開方法(Public Methods) 繼承自 ufm::lang::Interface | |
| virtual | ~Interface (void)=default |
| 虛擬析構函式 | |
公開屬性 | |
| hal::digital::GeneralOutput & | vOutput |
| LED輸出介面 | |
| ufm::util::ElapsedTimer | vTimer |
| LED控制計時器 | |
| uint32 | vBlinkPeriod |
| LED閃爍週期(微秒) | |
| bool | vInverted |
| 反向輸出邏輯旗標 | |
| ufm::hw::SimpleLED::SimpleLED | ( | hal::digital::GeneralOutput & | output, |
| bool | inverted = false ) |
建構新的SimpleLED物件
| output | LED控制用數位輸出介面的參考 |
| inverted | 可選參數,設定反向邏輯(預設:false) |
使用指定的輸出介面初始化SimpleLED。 inverted參數允許適應不同的LED接線配置。
使用範例:
|
overridevirtual |
銷毀SimpleLED物件
虛擬解構函數確保繼承階層中的適當清理。 在銷毀前自動關閉LED。
| void ufm::hw::SimpleLED::setBlink | ( | uint32 | microseconds | ) |
設定LED為指定週期的閃爍模式
| microseconds | 閃爍週期的微秒數,表示一個完整週期的時間 |
配置LED以指定的週期閃爍。LED將在每 microseconds/2 間隔 在開啟和關閉狀態間切換。實際的閃爍行為由 update() 方法處理。
| microseconds | 必須 > 0 以啟用閃爍,設為 0 則停用 |
範例:
| void ufm::hw::SimpleLED::setOff | ( | void | ) |
關閉LED
根據反向邏輯設定將LED設為「關閉」狀態。 同時停用閃爍模式,將閃爍週期設為0。
行為:
| void ufm::hw::SimpleLED::setOn | ( | void | ) |
開啟LED
根據反向邏輯設定將LED設為「開啟」狀態。 同時停用閃爍模式,將閃爍週期設為0。
行為:
|
overridevirtual |
更新LED狀態
此方法由系統定期呼叫以更新LED狀態。 對於閃爍LED,它根據設定的閃爍週期管理時序和狀態轉換。 對於靜態LED(開/關),此方法不執行任何動作。
行為:
| uint32 ufm::hw::SimpleLED::vBlinkPeriod |
LED閃爍週期(微秒)
一個完整閃爍週期(亮+暗)的時間長度,以微秒為單位。 值為0時停用閃爍模式。
| bool ufm::hw::SimpleLED::vInverted |
反向輸出邏輯旗標
當為true時,輸出邏輯被反向:
| hal::digital::GeneralOutput& ufm::hw::SimpleLED::vOutput |
LED輸出介面
用於控制LED硬體的數位輸出介面參考
| ufm::util::ElapsedTimer ufm::hw::SimpleLED::vTimer |
LED控制計時器
用於控制LED閃爍時序和狀態轉換的經過時間計時器