![]() |
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 void | setDir (bool dir) override |
設定腳位方向 | |
virtual void | setInput (void) override |
設定腳位為輸入方向 | |
virtual void | setOutput (void) override |
設定腳位為輸出方向 | |
virtual void | setHigh (void) override |
設定腳位為高電平 | |
virtual void | setLow (void) override |
設定腳位為低電平 | |
virtual void | setToggle (void) override |
切換腳位電平狀態 | |
virtual void | setValue (bool level) override |
設定腳位邏輯值 | |
virtual bool | getValue (void) override |
讀取腳位邏輯值 | |
![]() | |
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 |
虛擬析構函式 | |
公開屬性 | |
void *const | vBase |
GPIO模組基底暫存器位址 | |
void *const | vBasePort |
GPIO埠基底暫存器位址 | |
const unsigned int | vPin = 0 |
腳位編號 | |
額外的繼承成員 | |
![]() | |
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 | 要設定的邏輯值
|
void* const mcxa153::core::CoreGeneralPin::vBase |
GPIO模組基底暫存器位址
指向GPIO硬體模組基底暫存器的常數指標。 用於直接訪問GPIO硬體控制暫存器:
void* const mcxa153::core::CoreGeneralPin::vBasePort |
GPIO埠基底暫存器位址
指向特定GPIO埠基底暫存器的常數指標。 提供埠層級的硬體控制功能:
const unsigned int mcxa153::core::CoreGeneralPin::vPin = 0 |
腳位編號
在GPIO埠中的腳位編號,範圍通常為0-31。 此編號對應:
腳位編號用途: