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

公開型態

enum struct  Select : unsigned char { GPIO0 = 0 , GPIO1 = 1 , GPIO2 = 2 , GPIO3 = 3 }
 

公開方法(Public Methods)

 CoreGeneralPort (Select select)
 Construct a new object.
 
virtual ~CoreGeneralPort (void) override
 Destroy the object.
 
virtual bool deinit (void) override
 硬體去初始化。
 
virtual bool init (void) override
 硬體初始化。
 
virtual bool isInit (void) override
 取得硬體是否已初始化。
 
virtual uint32 dir (uint32 port) override
 讀取 GPIO 埠的輸入輸出方向
 
virtual void dir (uint32 port, uint32 value) override
 設定 GPIO 埠的輸入輸出方向
 
virtual void dirClear (uint32 port, uint32 mask) override
 清除指定 GPIO 埠的輸出方向
 
virtual void dirSet (uint32 port, uint32 mask) override
 設定指定 GPIO 埠的輸出方向
 
virtual uint32 pin (uint32 port) override
 讀取 GPIO 埠的數值
 
virtual void pin (uint32 port, uint32 value) override
 設定 GPIO 埠的數值
 
virtual void pinClear (uint32 port, uint32 mask) override
 清除指定 GPIO 埠的輸出
 
virtual void pinSet (uint32 port, uint32 mask) override
 設定指定 GPIO 埠的輸出
 
virtual void pinToggle (uint32 port, uint32 mask) override
 切換指定 GPIO 埠的輸出狀態
 
- 公開方法(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.
 

公開屬性

void *const vBase
 
void *const vBasePort
 

函式成員說明文件

◆ deinit()

virtual bool core::CoreGeneralPort::deinit ( void )
overridevirtual

硬體去初始化。

傳回值
true 去初始化成功。
false 去初始化失敗,可能原因如下:
  • 設備尚未初始化。
  • 設備異常。

實作 hal::Base.

◆ dir() [1/2]

virtual uint32 core::CoreGeneralPort::dir ( uint32 port)
overridevirtual

讀取 GPIO 埠的輸入輸出方向

參數
port埠號碼
傳回值
uint32 數值
  • [b0]: 輸入模式
  • [b1]: 輸出模式

實作 hal::digital::GeneralPort.

◆ dir() [2/2]

virtual void core::CoreGeneralPort::dir ( uint32 port,
uint32 value )
overridevirtual

設定 GPIO 埠的輸入輸出方向

參數
port埠號碼
value設定方向
  • [b0]: 設為輸入模式
  • [b1]: 設為輸出模式

實作 hal::digital::GeneralPort.

◆ dirClear()

virtual void core::CoreGeneralPort::dirClear ( uint32 port,
uint32 mask )
overridevirtual

清除指定 GPIO 埠的輸出方向

參數
port埠號碼
mask遮罩
  • [b0]: 無操作
  • [b1]: 清除對應位元的輸出設定

實作 hal::digital::GeneralPort.

◆ dirSet()

virtual void core::CoreGeneralPort::dirSet ( uint32 port,
uint32 mask )
overridevirtual

設定指定 GPIO 埠的輸出方向

參數
port埠號碼
mask遮罩
  • [b0]: 無操作
  • [b1]: 設定對應位元為輸出模式

實作 hal::digital::GeneralPort.

◆ init()

virtual bool core::CoreGeneralPort::init ( void )
overridevirtual

硬體初始化。

傳回值
true 初始化成功
false 初始化失敗,可能原因如下:
  • 設備已經初始化。
  • 設備異常。

實作 hal::Base.

◆ isInit()

virtual bool core::CoreGeneralPort::isInit ( void )
overridevirtual

取得硬體是否已初始化。

傳回值
true 設備上會初始化。
false 設備已經初始化。

實作 hal::Base.

◆ pin() [1/2]

virtual uint32 core::CoreGeneralPort::pin ( uint32 port)
overridevirtual

讀取 GPIO 埠的數值

參數
port埠號碼
傳回值
uint32
  • [b0]: 低電位 (LOW)
  • [b1]: 高電位 (HIGH)

實作 hal::digital::GeneralPort.

◆ pin() [2/2]

virtual void core::CoreGeneralPort::pin ( uint32 port,
uint32 value )
overridevirtual

設定 GPIO 埠的數值

參數
port埠號碼
value設定值
  • [b0]: 設為低電位 (LOW)
  • [b1]: 設為高電位 (HIGH)

實作 hal::digital::GeneralPort.

◆ pinClear()

virtual void core::CoreGeneralPort::pinClear ( uint32 port,
uint32 mask )
overridevirtual

清除指定 GPIO 埠的輸出

參數
port埠號碼
mask遮罩
  • [b0]: 無操作
  • [b1]: 設定對應位元為低電位 (LOW)

實作 hal::digital::GeneralPort.

◆ pinSet()

virtual void core::CoreGeneralPort::pinSet ( uint32 port,
uint32 mask )
overridevirtual

設定指定 GPIO 埠的輸出

參數
port埠號碼
mask遮罩
  • [b0]: 無操作
  • [b1]: 設定對應位元為高電位 (HIGH)

實作 hal::digital::GeneralPort.

◆ pinToggle()

virtual void core::CoreGeneralPort::pinToggle ( uint32 port,
uint32 mask )
overridevirtual

切換指定 GPIO 埠的輸出狀態

參數
port埠號碼
mask遮罩
  • [b0]: 無操作
  • [b1]: 切換對應位元的狀態

實作 hal::digital::GeneralPort.


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