mFrame
載入中...
搜尋中...
無符合項目
core::CoreInterrupt 類別 參考文件
類別core::CoreInterrupt的繼承圖:
mframe::lang::Object hal::InterruptEvent mframe::lang::Interface mframe::lang::Interface

公開型態

enum  Service {
  IRQ_GPIO0 = 0 , IRQ_GPIO1 = 1 , IRQ_GPIO2 = 2 , IRQ_GPIO3 = 3 ,
  IRQ_LPUART0 = 4 , IRQ_LPUART1 = 5 , IRQ_LPUART2 = 6 , IRQ_LPI2C0 = 7 ,
  IRQ_MAX_QUANTITY
}
 

公開方法(Public Methods)

void interruptEvent (void) override
 硬體中斷觸發事件
 
void setHandler (Service service, hal::InterruptEvent *runnable)
 設定中斷服務事件。
 
hal::InterruptEventgetHandler (Service service)
 Get the Handler object.
 
void serviceEnable (Service service, bool enable)
 啟用中斷服務事件
 
- 公開方法(Public Methods) 繼承自 mframe::lang::Object
 Object (void)
 Construct a new Object object.
 
virtual ~Object (void) override
 Destroy the Object object.
 
void * operator new (size_t n)
 
void * operator new (size_t n, void *p)
 
mframe::lang::ObjectgetObject (void) override
 取得類Object
 
void delay (int milliseconds) const
 函數 delay 等待內核滴答中指定的時間段。 對於1的值,系統等待直到下一個計時器滴答發生。 實際時間延遲最多可能比指定時間少一個計時器滴答聲,即在下一個系統滴答聲發生之前立即調用 osDelay(1),線程會立即重新安排。
 
bool equals (Object *object) const
 函數 delay 等待內核滴答中指定的時間段。 對於1的值,系統等待直到下一個計時器滴答發生。 實際時間延遲最多可能比指定時間少一個計時器滴答聲,即在下一個系統滴答聲發生之前立即調用 osDelay(1),線程會立即重新安排。
 
bool equals (Object &object) const
 函數 delay 等待內核滴答中指定的時間段。 對於1的值,系統等待直到下一個計時器滴答發生。 實際時間延遲最多可能比指定時間少一個計時器滴答聲,即在下一個系統滴答聲發生之前立即調用 osDelay(1),線程會立即重新安排。
 
void wait (void) const
 導致當前線程等待,直到另一個線程調用此對象的notify()方法或notifyAll()方法,或指定的時間 已過。
 
bool wait (int timeout) const
 導致當前線程等待,直到另一個線程調用此對象的 notify()方法或 notifyAll()方法,或其他一些線 程中斷當前線程,或一定量的實時時間。
 
bool yield (void) const
 函數yield()將控制權傳遞給處於READY狀態且具有相同優先級的下一個線程。 如果在READY狀態下沒有其他優先級相同的線程,則當前線程繼續執行,不會發生線程切換。
 
int lock (void) const
 核心鎖定,在調用unlock以前將不會進行執行緒切換
 
int unlock (void) const
 核心解鎖。
 
mframe::sys::ThreadcurrentThread (void) const
 取得當前的執行緒
 
virtual int hashcode (void) const
 返回對象的哈希碼值。支持這種方法是為了散列表,如HashMap提供的那樣。
 
- 公開方法(Public Methods) 繼承自 mframe::lang::Interface
virtual ~Interface (void)=default
 Destroy the struct object.
 

靜態公開方法(Static Public Methods)

static CoreInterruptgetInstance (void)
 取得該類單例實例。
 
static void instantiation (void)
 類單例實例化。
 

公開屬性

hal::InterruptEventvHandle [IRQ_MAX_QUANTITY]
 

函式成員說明文件

◆ getHandler()

hal::InterruptEvent * core::CoreInterrupt::getHandler ( Service service)

Get the Handler object.

參數
service
傳回值
hal::InterruptEvent*

◆ getInstance()

static CoreInterrupt & core::CoreInterrupt::getInstance ( void )
inlinestatic

取得該類單例實例。

傳回值
CoreInterrupt&

◆ interruptEvent()

void core::CoreInterrupt::interruptEvent ( void )
overridevirtual

硬體中斷觸發事件

實作 hal::InterruptEvent.

◆ serviceEnable()

void core::CoreInterrupt::serviceEnable ( Service service,
bool enable )

啟用中斷服務事件

參數
service
enable

◆ setHandler()

void core::CoreInterrupt::setHandler ( Service service,
hal::InterruptEvent * runnable )

設定中斷服務事件。

參數
service中斷服務。
runnable中斷事件,null為預設值。

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