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

公開型態

enum struct  Select : unsigned char { USART0 = 0 , USART1 = 1 , USART2 = 2 }
 

公開方法(Public Methods)

 CoreUSART (Select select)
 Construct a new object.
 
virtual ~CoreUSART (void) override
 Destroy the object.
 
virtual bool deinit (void) override
 硬體去初始化。
 
virtual bool init (void) override
 硬體初始化。
 
virtual bool isInit (void) override
 取得硬體是否已初始化。
 
virtual uint32 setBaudrate (uint32 baudrate) override
 設定UART Baudrate,返回值為設定後的數值。 隨核心頻率不同,可能只能產生相近的Baudrate
 
virtual uint32 getBaudrate (void) override
 取得UART Baudrate
 
virtual void beginTransfer (bool enable) override
 設定UART開始或關閉輸出緩衝器空事件監聽,當輸出緩存為空時將會呼叫Event::onUartTransfer
 
virtual void beginReceiver (bool enable) override
 設定UART開始或關閉接收緩衝器滿事件監聽,當有新資料接收成功後將會呼叫Event::onUartReceiver
 
virtual void setEventReceiver (hal::serial::UARTEventReceiver *event) override
 設定UART事件物件,當參數為nullptr時取消監聽與事件。
 
virtual void setEventTransfer (hal::serial::UARTEventTransfer *event) override
 設定UART事件物件,當參數為nullptr時取消監聽與事件。
 
virtual void interruptEvent (void) override
 硬體中斷觸發事件
 
virtual bool onReceiver (const uint8 data) override
 接收緩衝滿事件。
 
virtual bool onTransfer (uint8 &data) 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
 

函式成員說明文件

◆ beginReceiver()

virtual void core::CoreUSART::beginReceiver ( bool enable)
overridevirtual

設定UART開始或關閉接收緩衝器滿事件監聽,當有新資料接收成功後將會呼叫Event::onUartReceiver

參數
enable- true為開始監聽,false則否

實作 hal::serial::UART.

◆ beginTransfer()

virtual void core::CoreUSART::beginTransfer ( bool enable)
overridevirtual

設定UART開始或關閉輸出緩衝器空事件監聽,當輸出緩存為空時將會呼叫Event::onUartTransfer

參數
enable- true為開始監聽,false則否

實作 hal::serial::UART.

◆ deinit()

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

硬體去初始化。

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

實作 hal::Base.

◆ getBaudrate()

virtual uint32 core::CoreUSART::getBaudrate ( void )
overridevirtual

取得UART Baudrate

傳回值
uint32 Baudrate

實作 hal::serial::UART.

◆ init()

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

硬體初始化。

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

實作 hal::Base.

◆ interruptEvent()

virtual void core::CoreUSART::interruptEvent ( void )
overridevirtual

硬體中斷觸發事件

實作 hal::InterruptEvent.

◆ isInit()

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

取得硬體是否已初始化。

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

實作 hal::Base.

◆ onReceiver()

virtual bool core::CoreUSART::onReceiver ( const uint8 data)
overridevirtual

接收緩衝滿事件。

參數
data接收資料
傳回值
true 持續接收下一個資料
false 取消接收下一個資料,並關閉接收緩衝器滿的事件監聽。

實作 hal::serial::UARTEventReceiver.

◆ onTransfer()

virtual bool core::CoreUSART::onTransfer ( uint8 & data)
overridevirtual

傳輸緩衝空事件。

參數
data預發送資料
傳回值
true 發送該筆資料
false 取消發送資料,並結束輸出緩衝器空的事件間聽。

實作 hal::serial::UARTEventTransfer.

◆ setBaudrate()

virtual uint32 core::CoreUSART::setBaudrate ( uint32 baudrate)
overridevirtual

設定UART Baudrate,返回值為設定後的數值。 隨核心頻率不同,可能只能產生相近的Baudrate

參數
baudrate預期的Baudrate
傳回值
uint32 隨設備頻率所產生的Baudrate

實作 hal::serial::UART.

◆ setEventReceiver()

virtual void core::CoreUSART::setEventReceiver ( hal::serial::UARTEventReceiver * event)
overridevirtual

設定UART事件物件,當參數為nullptr時取消監聽與事件。

參數
event事件,可為nullptr

實作 hal::serial::UART.

◆ setEventTransfer()

virtual void core::CoreUSART::setEventTransfer ( hal::serial::UARTEventTransfer * event)
overridevirtual

設定UART事件物件,當參數為nullptr時取消監聽與事件。

參數
event事件,可為nullptr

實作 hal::serial::UART.


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