![]() |
mFrame
|
MCXA153 通用數位腳位控制器 更多...
#include <CoreGeneralPin.h>
公開方法(Public Methods) | |
| CoreGeneralPin (const CoreGeneralPort &port, unsigned int pin) | |
| 建構通用數位腳位物件 | |
| virtual | ~CoreGeneralPin (void) override |
| 解構通用數位腳位物件 | |
| virtual hal::digital::GeneralPin::Mode | getPinMode (void) override |
| 取得腳位模式 | |
| virtual hal::digital::GeneralPin::Mode | setPinMode (hal::digital::GeneralPin::Mode mode) override |
| 設定腳位模式 | |
| virtual bool | getDir (void) override |
| 取得腳位方向 | |
| virtual hal::digital::GeneralPin & | setDir (bool dir) override |
| 設定腳位方向 | |
| virtual hal::digital::GeneralPin & | setInput (void) override |
| 設定腳位為輸入方向 | |
| virtual hal::digital::GeneralPin & | setOutput (void) override |
| 設定腳位為輸出方向 | |
| virtual hal::digital::GeneralOutput & | setHigh (void) override |
| 設定腳位為高電平 | |
| virtual hal::digital::GeneralOutput & | setLow (void) override |
| 設定腳位為低電平 | |
| virtual hal::digital::GeneralOutput & | setToggle (void) override |
| 切換腳位電平狀態 | |
| virtual hal::digital::GeneralOutput & | setValue (bool level) override |
| 設定腳位邏輯值 | |
| virtual bool | getValue (void) 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::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 |
| 虛擬析構函式 | |
公開屬性 | |
| mcxa153::chip::gpio::Register *const | vBase |
| GPIO模組基底暫存器位址 | |
| mcxa153::chip::port::Register *const | vBasePort |
| GPIO埠基底暫存器位址 | |
| const unsigned int | vPin = 0 |
| 腳位編號 | |
額外的繼承成員 | |
公開型態 繼承自 hal::digital::GeneralPin | |
| enum struct | Mode : uint8 { NOT_SUPPORT , FLOAT , PUSH_PULL , PULL_UP , PULL_DOWN , OPEN_DRAIN , OPEN_DRAIN_PULL_UP } |
| GPIO引腳電氣特性模式。 更多... | |
MCXA153 通用數位腳位控制器
CoreGeneralPin 提供單一GPIO腳位的完整硬體抽象層實作。 此類別封裝了GPIO腳位的所有基本操作,包括:
主要功能:
技術特色:
適用場景:
硬體特性:
| mcxa153::core::CoreGeneralPin::CoreGeneralPin | ( | const CoreGeneralPort & | port, |
| unsigned int | pin ) |
建構通用數位腳位物件
初始化GPIO腳位控制器,綁定到指定埠的特定腳位。 建構時會:
| port | 通用GPIO埠物件參考,提供埠層級控制功能 |
| pin | 腳位編號,指定要控制的具體腳位(通常0-31) |
|
overridevirtual |
解構通用數位腳位物件
釋放腳位控制器相關資源。 解構時不會改變腳位的硬體狀態, 以避免影響其他可能使用該腳位的程序。
|
overridevirtual |
取得腳位方向
讀取腳位的輸入/輸出方向設定。
|
overridevirtual |
取得腳位模式
讀取目前腳位的工作模式設定。
|
overridevirtual |
讀取腳位邏輯值
讀取腳位目前的邏輯電平狀態。 可用於輸入或輸出模式:
電平判定標準:
|
overridevirtual |
設定腳位方向
配置腳位為輸入或輸出方向。 方向變更會即時生效。
| dir | 方向設定
|
|
overridevirtual |
設定腳位為高電平
將輸出腳位設定為邏輯高電平(通常為VDD電壓)。 此操作使用原子性位元設定,不影響其他腳位。
|
overridevirtual |
設定腳位為輸入方向
將腳位配置為輸入模式,用於讀取外部信號。 輸入模式下腳位呈現高阻抗狀態。
|
overridevirtual |
設定腳位為低電平
將輸出腳位設定為邏輯低電平(通常為0V/GND)。 此操作使用原子性位元清除,不影響其他腳位。
|
overridevirtual |
設定腳位為輸出方向
將腳位配置為輸出模式,用於驅動外部負載。 輸出模式下可控制腳位的電平狀態。
|
overridevirtual |
設定腳位模式
配置腳位的工作模式,影響其電氣特性。 模式變更會即時生效,可能影響連接的外部電路。
| mode | 要設定的腳位模式
|
|
overridevirtual |
切換腳位電平狀態
反轉腳位的目前輸出電平:
此操作使用原子性位元切換,適合頻繁的狀態變更。
|
overridevirtual |
設定腳位邏輯值
根據布林值設定腳位的輸出電平。 提供程序化的電平控制方式。
| level | 要設定的邏輯值
|