mFrame
載入中...
搜尋中...
無符合項目
mcxa153::core::CoreEdgeTrigger 類別 參考文件

MCXA153 核心邊緣觸發器類別 更多...

#include <CoreEdgeTrigger.h>

類別mcxa153::core::CoreEdgeTrigger的繼承圖:
ufm::lang::Object hal::digital::EdgeTrigger hal::digital::EdgeTrigger::Event ufm::lang::Interface

公開方法(Public Methods)

 CoreEdgeTrigger (core::CoreEdgeTriggerPort &port, int channel)
 建構邊緣觸發器物件
 
virtual ~CoreEdgeTrigger (void) override
 解構邊緣觸發器物件
 
virtual bool setMode (hal::digital::EdgeTrigger::Mode mode) override
 設定邊緣觸發模式
 
virtual void setEvent (hal::digital::EdgeTrigger::Event *event) override
 設定邊緣觸發事件處理器
 
virtual int read (void) override
 讀取觸發計數值
 
virtual void onEdgeRise (void) override
 上升緣觸發事件處理方法
 
virtual void onEdgeFall (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::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
 虛擬析構函式
 

額外的繼承成員

- 公開型態 繼承自 hal::digital::EdgeTrigger
enum struct  Mode : uint8 { NONE , RISING , FALLING , EITHER }
 GPIO邊緣觸發模式。 更多...
 

詳細描述

MCXA153 核心邊緣觸發器類別

提供 MCXA153 微控制器的邊緣觸發檢測功能,能夠監測數位訊號的 上升沿和下降沿變化,並自動觸發相應的處理事件。

主要功能:

  • 上升沿/下降沿/雙邊沿檢測
  • 自動事件回呼處理
  • 觸發計數統計
  • 可程式化觸發模式設定

應用場景:

  • 外部中斷處理
  • 脈衝訊號計數
  • 編碼器訊號解碼
  • 事件驅動的控制系統
實現了邊緣觸發介面和事件處理介面
參閱
CoreEdgeTriggerPort

建構子與解構子說明文件

◆ CoreEdgeTrigger()

mcxa153::core::CoreEdgeTrigger::CoreEdgeTrigger ( core::CoreEdgeTriggerPort & port,
int channel )

建構邊緣觸發器物件

初始化邊緣觸發器,綁定到指定的觸發埠和通道。 建構時會重設觸發計數器並設定預設狀態。

參數
port邊緣觸發埠物件參考,提供硬體控制功能
channel觸發器通道編號,指定要使用的硬體通道
通道編號必須在埠支援的範圍內,否則會導致未定義行為
參閱
CoreEdgeTriggerPort

◆ ~CoreEdgeTrigger()

virtual mcxa153::core::CoreEdgeTrigger::~CoreEdgeTrigger ( void )
overridevirtual

解構邊緣觸發器物件

停止觸發檢測功能並釋放相關資源。 確保硬體觸發器正確停用,避免意外的中斷觸發。

函式成員說明文件

◆ onEdgeFall()

virtual void mcxa153::core::CoreEdgeTrigger::onEdgeFall ( void )
overridevirtual

下降緣觸發事件處理方法

當硬體偵測到下降緣觸發條件(1→0跳變)時, 將自動呼叫此方法執行對應的處理邏輯。 此方法在中斷服務程序中執行,應保持簡潔快速。

實作時應避免阻塞操作和長時間計算
警告
在中斷內容中執行,需注意執行緒安全

實作 hal::digital::EdgeTrigger::Event.

◆ onEdgeRise()

virtual void mcxa153::core::CoreEdgeTrigger::onEdgeRise ( void )
overridevirtual

上升緣觸發事件處理方法

當硬體偵測到上升緣觸發條件(0→1跳變)時, 將自動呼叫此方法執行對應的處理邏輯。 此方法在中斷服務程序中執行,應保持簡潔快速。

實作時應避免阻塞操作和長時間計算
警告
在中斷內容中執行,需注意執行緒安全

實作 hal::digital::EdgeTrigger::Event.

◆ read()

virtual int mcxa153::core::CoreEdgeTrigger::read ( void )
overridevirtual

讀取觸發計數值

取得目前的邊緣觸發計數值。 此計數值會在每次檢測到設定的邊緣條件時遞增。

傳回值
int 觸發計數值
  • 0: 初始狀態或已重設
  • >0: 檢測到的觸發次數
計數值可能會溢位,建議定期讀取和重設
參閱
vCount

實作 hal::digital::EdgeTrigger.

◆ setEvent()

virtual void mcxa153::core::CoreEdgeTrigger::setEvent ( hal::digital::EdgeTrigger::Event * event)
overridevirtual

設定邊緣觸發事件處理器

綁定事件處理物件,當邊緣觸發條件滿足時會自動回調。 可設定為nullptr來取消事件處理。

參數
event事件處理器指標
  • 有效物件指標: 啟用事件回調
  • nullptr: 停用事件回調
事件處理器必須實作EdgeTrigger::Event介面
參閱
hal::digital::EdgeTrigger::Event

實作 hal::digital::EdgeTrigger.

◆ setMode()

virtual bool mcxa153::core::CoreEdgeTrigger::setMode ( hal::digital::EdgeTrigger::Mode mode)
overridevirtual

設定邊緣觸發模式

配置觸發器的檢測模式,可設定為上升緣、下降緣或雙緣觸發。 模式變更會即時生效,但可能會清除未處理的觸發事件。

參數
mode觸發模式設定值
  • RISE: 上升緣觸發模式,檢測0→1跳變
  • FALL: 下降緣觸發模式,檢測1→0跳變
  • BOTH: 雙緣觸發模式,檢測所有跳變
傳回值
bool 設定是否成功
  • true: 模式設定成功
  • false: 設定失敗或無效的模式參數
警告
模式變更可能會導致計數器重設,請在適當時機調用
參閱
hal::digital::EdgeTrigger::Mode

實作 hal::digital::EdgeTrigger.


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