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

公開型態

enum struct  Select : unsigned char { CTIMER0 = 0 , CTIMER1 = 1 , CTIMER2 = 2 }
 
enum struct  Channel : unsigned char { MAT0 = 0 , MAT1 = 1 , MAT2 = 2 , MAT3 = 3 }
 

公開方法(Public Methods)

 CorePulseWidth (Select select, Channel periodChannel)
 Construct a new object.
 
virtual ~CorePulseWidth (void) override
 Destroy the object.
 
virtual bool deinit (void) override
 硬體去初始化。
 
virtual bool init (void) override
 硬體初始化。
 
virtual bool isInit (void) override
 取得硬體是否已初始化。
 
virtual int setPeriod (float hz) override
 設定計數器週期
 
virtual bool setPercent (int channel, float percent) override
 設定指定通道的脈寬百分比
 
virtual bool getPercent (int channel, float &result) override
 取得指定通道的脈寬百分比
 
virtual bool start (bool enable) override
 啟動或停止計數器
 
- 公開方法(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
 
const Channel vPeriodChannel
 

函式成員說明文件

◆ deinit()

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

硬體去初始化。

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

實作 hal::Base.

◆ getPercent()

virtual bool core::CorePulseWidth::getPercent ( int channel,
float & result )
overridevirtual

取得指定通道的脈寬百分比

參數
channel通道編號
result傳出參數,存放取得的脈寬百分比
傳回值
bool true: 取得成功; false: 取得失敗。

實作 hal::counter::PulseWidth.

◆ init()

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

硬體初始化。

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

實作 hal::Base.

◆ isInit()

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

取得硬體是否已初始化。

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

實作 hal::Base.

◆ setPercent()

virtual bool core::CorePulseWidth::setPercent ( int channel,
float percent )
overridevirtual

設定指定通道的脈寬百分比

參數
channel通道編號
percent脈寬百分比 (0 ~ 1)
傳回值
bool true: 設定成功; false: 設定失敗。

實作 hal::counter::PulseWidth.

◆ setPeriod()

virtual int core::CorePulseWidth::setPeriod ( float hz)
overridevirtual

設定計數器週期

參數
hz輸入頻率 (Hz)
傳回值
int 回傳結果,數值定義依具體實作而定

實作 hal::counter::PulseWidth.

◆ start()

virtual bool core::CorePulseWidth::start ( bool enable)
overridevirtual

啟動或停止計數器

參數
enabletrue: 啟動計數器; false: 停止計數器。
傳回值
bool true: 操作成功; false: 操作失敗。

實作 hal::counter::PulseWidth.


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