mFrame
載入中...
搜尋中...
無符合項目
CoreIICMaster.h
1
7#ifndef MCXA153_721B5DCB_2DC8_4E6C_B4E8_7DF3E15E63E2
8#define MCXA153_721B5DCB_2DC8_4E6C_B4E8_7DF3E15E63E2
9
10/* ***************************************************************************************
11 * Include
12 */
13#include "mframe.h"
14
15//----------------------------------------------------------------------------------------
16#include "./../core/CoreIIC.h"
17
18//----------------------------------------------------------------------------------------
19
20/* ***************************************************************************************
21 * Namespace
22 */
23namespace mcxa153::core {
24 class CoreIICMaster;
25} // namespace mcxa153::core
26
27/* ***************************************************************************************
28 * Class/Interface/Struct/Enum
29 */
83 /* *************************************************************************************
84 * Variable
85 */
86 protected:
111
112 /* *************************************************************************************
113 * Abstract Method
114 */
115
116 /* *************************************************************************************
117 * Construct Method
118 */
119 public:
137
150 virtual ~CoreIICMaster(void) override;
151
152 /* *************************************************************************************
153 * Operator Method
154 */
155
156 /* *************************************************************************************
157 * Override Method - mcxa153::core::CoreIIC
158 */
159 public:
185 virtual bool init(void) override;
186
187 /* *************************************************************************************
188 * Override Method - hal::serial::IICMaster
189 */
190 public:
202 virtual hal::serial::IIC& getIIC(void) override;
203
223 virtual bool isBusy(void) override;
224
248 virtual void setClock(uint32 hz) override;
249
262 virtual uint32 getClock(void) override;
263
289 virtual bool beginWrite(uint16 address) override;
290
316 virtual bool beginRead(uint16 address) override;
317
344 virtual bool abort(void) override;
345
359 virtual void setEventError(
360 hal::serial::IICMaster::EventError* event = nullptr) override;
361
362 /* *************************************************************************************
363 * Override Method - hal::serial::IICMaster::EventError
364 */
365 public:
391 virtual void onNanAcknowledgeEvent(int queueRemainingCount) override;
392
422 virtual void onBusBusyEvent(void) override;
423
424 /* *************************************************************************************
425 * Override Method - hal::InterruptEvent
426 */
427 public:
457 virtual void interruptEvent(void) override;
458
459 /* *************************************************************************************
460 * Public Method
461 */
462
463 /* *************************************************************************************
464 * Protected Method
465 */
466 protected:
490 void masterReset(void);
491
523 bool transfer(uint16 address, bool direction = true);
524
525 /* *************************************************************************************
526 * Private Method
527 */
528
529 /* *************************************************************************************
530 * Static Variable
531 */
532
533 /* *************************************************************************************
534 * Static Method
535 */
536};
537
538/* ***************************************************************************************
539 * End of file
540 */
541
542#endif /* MCXA153_721B5DCB_2DC8_4E6C_B4E8_7DF3E15E63E2 */
MCXA153 I2C通訊控制器
Definition CoreIIC.h:77
Select
I2C控制器選擇枚舉
Definition CoreIIC.h:103
MCXA153 I2C主控制器
Definition CoreIICMaster.h:82
virtual void setClock(uint32 hz) override
設定I2C通訊時鐘頻率
virtual void interruptEvent(void) override
I2C主控制器中斷事件統一處理
virtual bool beginRead(uint16 address) override
開始讀取操作
virtual uint32 getClock(void) override
取得目前I2C通訊時鐘頻率
virtual ~CoreIICMaster(void) override
解構I2C主控制器物件
bool transfer(uint16 address, bool direction=true)
執行I2C傳輸操作
void masterReset(void)
重設主控制器狀態
CoreIICMaster(CoreIIC::Select select)
建構I2C主控制器物件
virtual void onBusBusyEvent(void) override
匯流排忙碌錯誤事件回調
virtual hal::serial::IIC & getIIC(void) override
取得I2C基礎介面參考
hal::serial::IICMaster::EventError * vEventError
錯誤事件處理器指標
Definition CoreIICMaster.h:110
virtual void onNanAcknowledgeEvent(int queueRemainingCount) override
NAK應答錯誤事件回調
virtual bool abort(void) override
中止I2C操作
virtual bool init(void) override
初始化I2C主控制器
virtual bool beginWrite(uint16 address) override
開始寫入操作
virtual void setEventError(hal::serial::IICMaster::EventError *event=nullptr) override
設定錯誤事件處理器
virtual bool isBusy(void) override
檢查主控制器忙碌狀態
Definition glikey/Mask.h:22
[Interface] IIC基礎介面
Definition IIC.h:38
[Interface] IIC錯誤事件處理器
Definition IICMaster.h:139
[Interface] IIC主端設備介面
Definition IICMaster.h:39