mFrame
載入中...
搜尋中...
無符合項目
CoreUSART.h
1
7#ifndef MCXA153_378F6EFE_29EB_4294_A630_C64F5EF9F0DD
8#define MCXA153_378F6EFE_29EB_4294_A630_C64F5EF9F0DD
9
10/* ***************************************************************************************
11 * Include
12 */
13#include "mframe.h"
14
15//----------------------------------------------------------------------------------------
16#include "./CoreDescriptor.h"
17
18//----------------------------------------------------------------------------------------
19
20/* ***************************************************************************************
21 * Namespace
22 */
23namespace mcxa153::core {
24 class CoreUSART;
25} // namespace mcxa153::core
26
27/* ***************************************************************************************
28 * Class/Interface/Struct/Enum
29 */
30
129 public hal::serial::UART,
130 public hal::InterruptEvent,
133 /* *************************************************************************************
134 * Enum
135 */
136 public:
137 enum struct Select : unsigned char;
138
139 /* *************************************************************************************
140 * Variable
141 */
142 public:
145
148
149 private:
151 uint32 vBaudrate;
152
154 hal::serial::UART::EventReceiver* vEventReceiver;
155
157 hal::serial::UART::EventTransfer* vEventTransfer;
158
159 /* *************************************************************************************
160 * Abstract Method
161 */
162
163 /* *************************************************************************************
164 * Construct Method
165 */
166 public:
242 CoreUSART(Select select, const mcxa153::core::CoreDescriptor* descriptor = nullptr);
243
332 virtual ~CoreUSART(void) override;
333
334 /* *************************************************************************************
335 * Operator Method
336 */
337
338 /* *************************************************************************************
339 * Override Method - hal::Base
340 */
341 public:
440 virtual bool deinit(void) override;
441
549 virtual bool init(void) override;
550
654 virtual bool isInit(void) override;
655 /* *************************************************************************************
656 * Override Method - hal::Uart
657 */
658 public:
763 virtual uint32 setBaudrate(uint32 baudrate) override;
764
874 virtual uint32 getBaudrate(void) override;
875
1019 virtual bool beginTransfer(bool enable) override;
1020
1192 virtual bool beginReceiver(bool enable) override;
1193
1432
1697
1698 /* *************************************************************************************
1699 * Override Method - hal::InterruptEvent
1700 */
1701 public:
1883 virtual void interruptEvent(void) override;
1884
1885 /* *************************************************************************************
1886 * Override Method - hal::serial::UARTEvent
1887 */
1888 public:
2039 virtual bool onReceiver(const uint8 data) override;
2040
2233 virtual bool onTransfer(uint8& data) override;
2234
2235 /* *************************************************************************************
2236 * Public Method
2237 */
2238
2239 /* *************************************************************************************
2240 * Protected Method
2241 */
2242
2243 /* *************************************************************************************
2244 * Private Method
2245 */
2246
2247 /* *************************************************************************************
2248 * Static Variable
2249 */
2250 public:
2251 static constexpr const mcxa153::core::CoreDescriptor DESCRIPTORS[3] = {
2252 // LPUART0
2254 mcxa153::chip::reset::Control::LPUART0,
2258 // LPUART1
2264 // LPUART2
2270
2271 /* *************************************************************************************
2272 * Static Method
2273 */
2274 public:
2275 static inline constexpr mcxa153::chip::lpuart::Register* toRegister(Select select) {
2276 return mcxa153::chip::lpuart::LPUART[static_cast<unsigned char>(select)];
2277 }
2278
2279 static inline constexpr const mcxa153::core::CoreDescriptor* getDescriptor(
2280 const Select select) {
2281 return &DESCRIPTORS[static_cast<unsigned char>(select)];
2282 }
2283};
2284
2348enum struct mcxa153::core::CoreUSART::Select : unsigned char {
2349 USART0 = 0, // LPUART0
2350 USART1 = 1, // LPUART1
2351 USART2 = 2 // LPUART2
2352};
2353
2354/* ***************************************************************************************
2355 * End of file
2356 */
2357
2358#endif /* MCXA153_378F6EFE_29EB_4294_A630_C64F5EF9F0DD */
MCXA153 低功耗通用非同步收發器 (Low Power Universal Asynchronous Receiver/Transmitter) 控制器靜態工具類別
Definition LPUART.h:178
@ IRQ_LPUART2
低功耗UART2中斷服務
Definition CoreInterrupt.h:126
@ IRQ_LPUART1
低功耗UART1中斷服務
Definition CoreInterrupt.h:125
@ IRQ_LPUART0
低功耗UART0中斷服務
Definition CoreInterrupt.h:124
MCXA153 USART/UART 串列通訊控制類別
Definition CoreUSART.h:132
virtual uint32 getBaudrate(void) override
查詢目前的 UART 鮑率
CoreUSART(Select select, const mcxa153::core::CoreDescriptor *descriptor=nullptr)
建構 CoreUSART 串列通訊控制物件
mcxa153::chip::lpuart::Register *const vBase
USART 硬體基礎位址指標
Definition CoreUSART.h:144
virtual bool onTransfer(uint8 &data) override
發送事件回呼方法
virtual bool deinit(void) override
USART 硬體反初始化
virtual uint32 setBaudrate(uint32 baudrate) override
設定 UART 通訊鮑率
virtual void interruptEvent(void) override
UART 中斷事件處理方法
virtual bool beginReceiver(bool enable) override
啟動或停止 UART 資料接收功能
virtual void setEventTransfer(hal::serial::UART::EventTransfer *event) override
設定 UART 發送事件處理器
virtual bool beginTransfer(bool enable) override
啟動或停止 UART 資料傳送功能
virtual bool isInit(void) override
檢查 USART 初始化狀態
virtual void setEventReceiver(hal::serial::UART::EventReceiver *event) override
設定 UART 接收事件處理器
const mcxa153::core::CoreDescriptor *const vDescriptor
USART 硬體描述資訊指標
Definition CoreUSART.h:147
virtual bool onReceiver(const uint8 data) override
接收事件回呼方法
virtual ~CoreUSART(void) override
銷毀 CoreUSART 串列通訊控制物件
virtual bool init(void) override
USART 硬體初始化
Select
USART 硬體模組選擇枚舉
Definition CoreUSART.h:2348
物件基底類別
Definition Object.h:63
@ LPUART2
Low Power UART 2 Reset Control.
@ LPUART1
Low Power UART 1 Reset Control.
Definition glikey/Mask.h:22
[Interface] 硬體中斷事件介面
Definition InterruptEvent.h:37
UART接收事件監聽器介面
Definition UART.h:113
[Interface] UART傳輸事件處理器
Definition UART.h:136
UART硬體抽象層介面
Definition UART.h:38
LPUART 週邊暫存器存取層
Definition lpuart/Register.h:39
Definition CoreDescriptor.h:31