mFrame
載入中...
搜尋中...
無符合項目
CmsisRTX5Timer.h
1
7#ifndef CMSISRTX5_E904F22C_10C4_4F52_B08F_199E7D6ABE68
8#define CMSISRTX5_E904F22C_10C4_4F52_B08F_199E7D6ABE68
9
10/* ***************************************************************************************
11 * Include
12 */
13
14//----------------------------------------------------------------------------------------
15#include "hal.h"
16#include "mframe.h"
17
18//----------------------------------------------------------------------------------------
19
20/* ***************************************************************************************
21 * Namespace
22 */
23namespace cmsisrtx5 {
24 class CmsisRTX5Timer;
25} // namespace cmsisrtx5
26
27/* ***************************************************************************************
28 * Class/Interface/Struct/Enum
29 */
30class cmsisrtx5::CmsisRTX5Timer : public Object,
33 /* *************************************************************************************
34 * Variable
35 */
36 private:
37 uint32_t vHandler[8];
38 void* vID;
40
41 /* *************************************************************************************
42 * Abstract method
43 */
44
45 /* *************************************************************************************
46 * Construct Method
47 */
48 public:
53 CmsisRTX5Timer(const char* name = "timer");
54
59 virtual ~CmsisRTX5Timer(void) override;
60
61 /* *************************************************************************************
62 * Operator Method
63 */
64
65 /* *************************************************************************************
66 * Public Method <Override> - hal::Base
67 */
68 public:
69 virtual bool deinit(void) override;
70
71 virtual bool init(void) override;
72
73 virtual bool isInit(void) override;
74
75 /* *************************************************************************************
76 * Public Method <Override> - hal::counter::Timer
77 */
78 public:
79 virtual void cancel(void) override;
80
81 virtual bool isBusy(void) override;
82
83 virtual bool startAtTick(uint32_t tick) override;
84
85 virtual bool startAtTime(float second) override;
86
87 virtual void setEvent(hal::counter::TimerEvent* event) override;
88
89 /* *************************************************************************************
90 * Public Method <Override> - hal::counter::TimerEvent
91 */
92 public:
93 virtual void onCancel(void) override;
94
95 virtual void onTrigger(void) override;
96
97 /* *************************************************************************************
98 * Public Method
99 */
100
101 /* *************************************************************************************
102 * Protected Method
103 */
104
105 /* *************************************************************************************
106 * Private Method
107 */
108
109 /* *************************************************************************************
110 * Static Variable
111 */
112
113 /* *************************************************************************************
114 * Static Method
115 */
116 private:
117 static void entry(void* args);
118};
119
120/* ***************************************************************************************
121 * End of file
122 */
123
124#endif /* CMSISRTX5_E904F22C_10C4_4F52_B08F_199E7D6ABE68 */
Definition CmsisRTX5Timer.h:32
virtual void cancel(void) override
取消計時器。
virtual void setEvent(hal::counter::TimerEvent *event) override
設定計時器終止事件。
virtual bool deinit(void) override
硬體去初始化。
CmsisRTX5Timer(const char *name="timer")
Construct a new Cmsisrtos Timer object.
virtual void onCancel(void) override
計時器取消事件。
virtual bool isInit(void) override
取得硬體是否已初始化。
virtual bool init(void) override
硬體初始化。
virtual bool startAtTime(float second) override
設置計時器以秒為單位開始。
virtual bool isBusy(void) override
檢查計時器是否忙碌。
virtual void onTrigger(void) override
計時器觸發事件。
virtual ~CmsisRTX5Timer(void) override
Destroy the Cmsisrtos Timer object.
Definition CmsisRTX5Kernel.h:22
[Interface] 計時器,停止事件。
Definition TimerEvent.h:34
[Interface] 硬體抽象層,計時器。
Definition hal/src/counter/Timer.h:35