mFrame
載入中...
搜尋中...
無符合項目
CoreInterrupt.h
1
7#ifndef MCXA153_CFDA1805_E0A7_4F00_906B_F2046472F77B
8#define MCXA153_CFDA1805_E0A7_4F00_906B_F2046472F77B
9
10/* ***************************************************************************************
11 * Include
12 */
13#include "mframe.h"
14
15//----------------------------------------------------------------------------------------
16
17//----------------------------------------------------------------------------------------
18
19/* ***************************************************************************************
20 * Namespace
21 */
22namespace mcxa153::core {
23 class CoreInterrupt;
24} // namespace mcxa153::core
25
26/* ***************************************************************************************
27 * Class/Interface/Struct/Enum
28 */
82 public hal::InterruptEvent {
83 /* *************************************************************************************
84 * Sub Class
85 */
86 public:
134 /* *************************************************************************************
135 * Variable
136 */
137 public:
176
177 /* *************************************************************************************
178 * Abstract Method
179 */
180 // 此類別為具體實作,所有虛擬方法均有實體實作
181
182 /* *************************************************************************************
183 * Construct Method
184 */
185 private:
201 CoreInterrupt(void);
202
217 virtual ~CoreInterrupt(void) override;
218
219 /* *************************************************************************************
220 * Operator Method
221 */
222
223 /* *************************************************************************************
224 * Override Method - hal::InterruptEvent
225 */
226 public:
260 void interruptEvent(void) override;
261
262 /* *************************************************************************************
263 * Public Method
264 */
265 public:
299 void setHandler(Service service, hal::InterruptEvent* runnable);
300
330
370 void serviceEnable(Service service, bool enable);
371
372 /* *************************************************************************************
373 * Protected Method
374 */
375
376 /* *************************************************************************************
377 * Private Method
378 */
379
380 /* *************************************************************************************
381 * Static Variable
382 */
383 private:
410 static CoreInterrupt* vInstance;
411 /* *************************************************************************************
412 * Static Method
413 */
414 public:
446 static inline CoreInterrupt& getInstance(void) {
447 return *CoreInterrupt::vInstance;
448 }
449
488 static void instantiation(void);
489};
490
491/* ***************************************************************************************
492 * End of file
493 */
494
495#endif /* MCXA153_CFDA1805_E0A7_4F00_906B_F2046472F77B */
MCXA153 中斷控制器管理員
Definition CoreInterrupt.h:82
void interruptEvent(void) override
統一中斷事件處理入口
void setHandler(Service service, hal::InterruptEvent *runnable)
設定中斷服務事件處理器
hal::InterruptEvent * vHandle[IRQ_MAX_QUANTITY]
中斷事件處理器陣列
Definition CoreInterrupt.h:175
void serviceEnable(Service service, bool enable)
啟用或停用中斷服務
static void instantiation(void)
實例化中斷控制器單例
hal::InterruptEvent * getHandler(Service service)
取得中斷服務事件處理器
Service
中斷服務類型枚舉
Definition CoreInterrupt.h:119
@ IRQ_GPIO2
GPIO埠2中斷服務
Definition CoreInterrupt.h:122
@ IRQ_GPIO1
GPIO埠1中斷服務
Definition CoreInterrupt.h:121
@ IRQ_LPUART2
低功耗UART2中斷服務
Definition CoreInterrupt.h:126
@ IRQ_LPSPI1
低功耗SPI1中斷服務
Definition CoreInterrupt.h:130
@ IRQ_LPI2C0
低功耗I2C0中斷服務
Definition CoreInterrupt.h:127
@ IRQ_LPADC0
低功耗ADC0中斷服務
Definition CoreInterrupt.h:128
@ IRQ_GPIO3
GPIO埠3中斷服務
Definition CoreInterrupt.h:123
@ IRQ_MAX_QUANTITY
最大中斷服務數量(12個)
Definition CoreInterrupt.h:132
@ IRQ_OS_EVENT
作業系統事件中斷服務
Definition CoreInterrupt.h:131
@ IRQ_LPUART1
低功耗UART1中斷服務
Definition CoreInterrupt.h:125
@ IRQ_LPUART0
低功耗UART0中斷服務
Definition CoreInterrupt.h:124
@ IRQ_GPIO0
GPIO埠0中斷服務
Definition CoreInterrupt.h:120
@ IRQ_LPSPI0
低功耗SPI0中斷服務
Definition CoreInterrupt.h:129
static CoreInterrupt & getInstance(void)
取得中斷控制器單例實例
Definition CoreInterrupt.h:446
物件基底類別
Definition Object.h:63
Definition glikey/Mask.h:22
[Interface] 硬體中斷事件介面
Definition InterruptEvent.h:37