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:
137 /* *************************************************************************************
138 * Variable
139 */
140 public:
179
180 /* *************************************************************************************
181 * Abstract Method
182 */
183 // 此類別為具體實作,所有虛擬方法均有實體實作
184
185 /* *************************************************************************************
186 * Construct Method
187 */
188 private:
204 CoreInterrupt(void);
205
220 virtual ~CoreInterrupt(void) override;
221
222 /* *************************************************************************************
223 * Operator Method
224 */
225
226 /* *************************************************************************************
227 * Override Method - hal::InterruptEvent
228 */
229 public:
263 void interruptEvent(void) override;
264
265 /* *************************************************************************************
266 * Public Method
267 */
268 public:
302 void setHandler(Service service, hal::InterruptEvent* runnable);
303
333
373 void serviceEnable(Service service, bool enable);
374
375 /* *************************************************************************************
376 * Protected Method
377 */
378
379 /* *************************************************************************************
380 * Private Method
381 */
382
383 /* *************************************************************************************
384 * Static Variable
385 */
386 private:
413 static CoreInterrupt* vInstance;
414 /* *************************************************************************************
415 * Static Method
416 */
417 public:
449 static inline CoreInterrupt& getInstance(void) {
450 return *CoreInterrupt::vInstance;
451 }
452
491 static void instantiation(void);
492};
493
494/* ***************************************************************************************
495 * End of file
496 */
497
498#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:178
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_CTIMER0
CTimer0中斷服務
Definition CoreInterrupt.h:131
@ IRQ_GPIO3
GPIO埠3中斷服務
Definition CoreInterrupt.h:123
@ IRQ_CTIMER2
CTimer2中斷服務
Definition CoreInterrupt.h:133
@ IRQ_MAX_QUANTITY
最大中斷服務數量(15個)
Definition CoreInterrupt.h:135
@ IRQ_CTIMER1
CTimer1中斷服務
Definition CoreInterrupt.h:132
@ IRQ_OS_EVENT
作業系統事件中斷服務
Definition CoreInterrupt.h:134
@ 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:449
物件基底類別
Definition Object.h:63
Definition glikey/Mask.h:22
[Interface] 硬體中斷事件介面
Definition InterruptEvent.h:37