![]() |
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為指定週期的閃爍模式 | |
![]() | |
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提供的那樣。 | |
![]() | |
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閃爍時序和狀態轉換的經過時間計時器