mFrame
載入中...
搜尋中...
無符合項目
ufm::hw::InvertGeneralOutput 類別 參考文件

反轉數位輸出包裝器類別 更多...

#include <InvertGeneralOutput.h>

類別ufm::hw::InvertGeneralOutput的繼承圖:
ufm::lang::Object hal::digital::GeneralOutput ufm::lang::Interface

公開方法(Public Methods)

 InvertGeneralOutput (hal::digital::GeneralOutput &generalOutput)
 建構一個新的反轉數位輸出物件
 
virtual ~InvertGeneralOutput (void) override
 解構物件
 
virtual hal::digital::GeneralOutputsetHigh (void) override
 設定輸出為高電平(實際輸出低電平)
 
virtual hal::digital::GeneralOutputsetLow (void) override
 設定輸出為低電平(實際輸出高電平)
 
virtual hal::digital::GeneralOutputsetToggle (void) override
 設定引腳輸出反向電平
 
virtual hal::digital::GeneralOutputsetValue (bool level) override
 設定引腳輸出電平(反轉後輸出)
 
- 公開方法(Public Methods) 繼承自 ufm::lang::Object
void * operator new (size_t n)
 使用運算子 new 分配記憶體
 
void * operator new (size_t n, void *p)
 在指定記憶體上調用運算子 new
 
virtual ufm::lang::ObjectgetObject (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::ThreadcurrentThread (void) const
 取得當前執行緒指標
 
virtual int hashcode (void) const
 返回對象的哈希碼值。支持這種方法是為了散列表,如HashMap提供的那樣。
 
- 公開方法(Public Methods) 繼承自 ufm::lang::Interface
virtual ~Interface (void)=default
 虛擬析構函式
 

詳細描述

反轉數位輸出包裝器類別

這個類別提供了一個包裝器,用於反轉底層 GeneralOutput 的所有輸出操作。 當進行輸出操作時,會將邏輯電平進行反轉後再傳送到底層輸出引腳。

主要用於處理反邏輯的硬體設計,例如:

  • 低電平觸發的 LED(調用 setHigh() 時 LED 亮起,實際輸出低電平)
  • 反邏輯的繼電器控制
  • 需要反轉信號的輸出設備
此類別只處理輸出操作,不包含輸入功能

建構子與解構子說明文件

◆ InvertGeneralOutput()

ufm::hw::InvertGeneralOutput::InvertGeneralOutput ( hal::digital::GeneralOutput & generalOutput)

建構一個新的反轉數位輸出物件

使用提供的 GeneralOutput 介面建構一個反轉包裝器。 建構後的物件會將所有輸出操作進行反轉處理。

參數
generalOutput要包裝的底層數位輸出介面參考
傳入的 generalOutput 參考必須在此物件的生命週期內保持有效
所有輸出的邏輯電平都會被反轉

◆ ~InvertGeneralOutput()

virtual ufm::hw::InvertGeneralOutput::~InvertGeneralOutput ( void )
overridevirtual

解構物件

清理物件資源並進行必要的解構操作。 不會影響底層的 GeneralOutput 物件。

函式成員說明文件

◆ setHigh()

virtual hal::digital::GeneralOutput & ufm::hw::InvertGeneralOutput::setHigh ( void )
overridevirtual

設定輸出為高電平(實際輸出低電平)

將 GPIO 引腳輸出設為邏輯高電平,但由於反轉邏輯, 實際硬體引腳會輸出低電平。適用於低電平觸發的設備。

傳回值
hal::digital::GeneralOutput& 回傳自身參考,支援鏈式呼叫
邏輯高電平 -> 實際硬體低電平

實作 hal::digital::GeneralOutput.

◆ setLow()

virtual hal::digital::GeneralOutput & ufm::hw::InvertGeneralOutput::setLow ( void )
overridevirtual

設定輸出為低電平(實際輸出高電平)

將 GPIO 引腳輸出設為邏輯低電平,但由於反轉邏輯, 實際硬體引腳會輸出高電平。

傳回值
hal::digital::GeneralOutput& 回傳自身參考,支援鏈式呼叫
邏輯低電平 -> 實際硬體高電平

實作 hal::digital::GeneralOutput.

◆ setToggle()

virtual hal::digital::GeneralOutput & ufm::hw::InvertGeneralOutput::setToggle ( void )
overridevirtual

設定引腳輸出反向電平

讀取當前底層硬體的輸出狀態並進行反轉。由於此類別本身就會反轉邏輯, 這個操作會讀取底層硬體狀態、反轉後再設定,形成雙重反轉的效果。

傳回值
hal::digital::GeneralOutput& 回傳自身參考,支援鏈式呼叫
此操作會讀取當前底層硬體狀態並進行反轉設定
由於雙重反轉,最終硬體狀態會與原狀態相反

實作 hal::digital::GeneralOutput.

◆ setValue()

virtual hal::digital::GeneralOutput & ufm::hw::InvertGeneralOutput::setValue ( bool level)
overridevirtual

設定引腳輸出電平(反轉後輸出)

根據輸入的邏輯電平設定輸出,但實際硬體電平會被反轉。 這是最基本的輸出設定方法,其他方法最終都會調用此方法。

參數
level邏輯電平:true 為邏輯高電平(實際輸出低電平), false 為邏輯低電平(實際輸出高電平)
傳回值
hal::digital::GeneralOutput& 回傳自身參考,支援鏈式呼叫
邏輯電平與實際硬體電平相反
此方法是其他設定方法的基礎實作

實作 hal::digital::GeneralOutput.


此類別(class) 文件是由下列檔案中產生: