mFrame
載入中...
搜尋中...
無符合項目
CoreAnalogPort.h
1
7#ifndef MCXA153_F7AC948D_6A69_40B1_B32C_FC46D212FF8A
8#define MCXA153_F7AC948D_6A69_40B1_B32C_FC46D212FF8A
9
10/* ***************************************************************************************
11 * Include
12 */
13#include "mframe.h"
14
15//----------------------------------------------------------------------------------------
16
17//----------------------------------------------------------------------------------------
18
19/* ***************************************************************************************
20 * Namespace
21 */
22namespace mcxa153::core {
23 class CoreAnalogPort;
24} // namespace mcxa153::core
25
26/* ***************************************************************************************
27 * Class/Interface/Struct/Enum
28 */
48 public ufm::util::Updater {
49 /* *************************************************************************************
50 * Enum
51 */
52 public:
59 enum struct AverageMode : unsigned char {
60 AVG_1 = 0,
61 AVG_2 = 1,
62 AVG_4 = 2,
63 AVG_8 = 3,
64 AVG_16 = 4,
65 AVG_32 = 5,
66 AVG_64 = 6,
67 AVG_128 = 7,
68 AVG_256 = 8,
69 AVG_512 = 9,
70 AVG_1024 = 10,
71 RESERVED = 255
72 };
73
74 public:
80 enum struct ReferenceSelect : unsigned char {
81 VREFH = 0,
82 VREFI = 1,
83 VDD_ANA = 2
84 };
85 /* *************************************************************************************
86 * Variable
87 */
88 private:
90 uint32 vEnableMask;
91
93 uint32 vConvertMask;
94
96 uint16 vValue[32];
97
99 bool vUpdate;
100
101 /* *************************************************************************************
102 * Abstract Method
103 */
104
105 /* *************************************************************************************
106 * Construct Method
107 */
108 public:
118
125 virtual ~CoreAnalogPort(void) override;
126
127 /* *************************************************************************************
128 * Operator Method
129 */
130
131 /* *************************************************************************************
132 * Override Method - hal::Base
133 */
134 public:
143 virtual bool deinit(void) override;
144
154 virtual bool init(void) override;
155
162 virtual bool isInit(void) override;
163
164 /* *************************************************************************************
165 * Override Method - hal::analog::AnalogInputPort
166 */
167 public:
181 virtual int read(int channel) const override;
182
192 virtual int getConvertLevel(void) const override;
193
194 /* *************************************************************************************
195 * Override Method - hal::InterruptEvent
196 */
197 public:
206 virtual void interruptEvent(void) override;
207
208 /* *************************************************************************************
209 * Override Method umf::util::Updater
210 */
211 public:
221 virtual bool update(void) override;
222
231 virtual bool isUpdating(void) override;
232
233 /* *************************************************************************************
234 * Public Method
235 */
236 public:
249
258 bool standby(void) const;
259
268 bool stop(void);
269
280 bool channelSet(uint8 pin, bool enalbe);
281
289 void channelMask(uint32 mask);
290
297
298 /* *************************************************************************************
299 * Protected Method
300 */
301
302 /* *************************************************************************************
303 * Private Method
304 */
305
306 /* *************************************************************************************
307 * Static Variable
308 */
309
310 /* *************************************************************************************
311 * Static Method
312 */
313};
314
315/* ***************************************************************************************
316 * End of file
317 */
318
319#endif /* MCXA153_F7AC948D_6A69_40B1_B32C_FC46D212FF8A */
MCXA153 核心模擬輸入埠類別
Definition CoreAnalogPort.h:48
AverageMode
ADC 硬體平均模式列舉
Definition CoreAnalogPort.h:59
@ AVG_1024
1024次平均 (最高精度)
virtual int read(int channel) const override
讀取指定通道的 ADC 轉換結果
bool stop(void)
停止 ADC 轉換
virtual bool init(void) override
初始化 ADC 埠
virtual ~CoreAnalogPort(void) override
解構模擬輸入埠物件
virtual bool isInit(void) override
檢查 ADC 埠是否已初始化
virtual void interruptEvent(void) override
ADC 轉換完成中斷事件處理
bool standby(void) const
將 ADC 設為待機模式
bool start(AverageMode mode=AverageMode::AVG_1024, ReferenceSelect reference=ReferenceSelect::VDD_ANA)
啟動 ADC 轉換
ReferenceSelect getReferenceSource(void) const
取得當前參考電壓設定
virtual bool isUpdating(void) override
檢查是否正在更新中
bool channelSet(uint8 pin, bool enalbe)
設定指定通道的啟用狀態
void channelMask(uint32 mask)
批次設定通道啟用遮罩
CoreAnalogPort(void)
建構新的模擬輸入埠物件
virtual bool deinit(void) override
反初始化 ADC 埠
ReferenceSelect
ADC 參考電壓選擇列舉
Definition CoreAnalogPort.h:80
virtual bool update(void) override
執行 ADC 狀態更新
virtual int getConvertLevel(void) const override
取得 ADC 轉換的解析度等級
物件基底類別
Definition Object.h:63
Definition glikey/Mask.h:22
[Interface] 硬體中斷事件介面
Definition InterruptEvent.h:37
[Interface] 類比輸入埠
Definition AnalogInputPort.h:38
[Interface] 更新器介面
Definition Updater.h:38