mFrame
載入中...
搜尋中...
無符合項目
IICMaster.h
1
7#ifndef MFRAME_BC6AED96_3002_4548_9697_75C3F61F2EE5
8#define MFRAME_BC6AED96_3002_4548_9697_75C3F61F2EE5
9
10/* ***************************************************************************************
11 * Include
12 */
13
14//----------------------------------------------------------------------------------------
15#include "./../../ufm/lang/Interface.h"
16
17//----------------------------------------------------------------------------------------
18#include "./../serial/IIC.h"
19
20/* ***************************************************************************************
21 * Namespace
22 */
23namespace hal::serial {
24 struct IICMaster;
25} // namespace hal::serial
26
27/* ***************************************************************************************
28 * Class/Interface/Struct/Enum
29 */
30
40 /* *************************************************************************************
41 * Class/Interface/Struct/Enum
42 */
43 struct EventError;
45 /* *************************************************************************************
46 * Method
47 */
48
54 virtual hal::serial::IIC& getIIC(void) abstract;
55
62 virtual bool isBusy(void) abstract;
63
72 virtual void setClock(uint32 hz) abstract;
73
81 virtual uint32 getClock(void) abstract;
82
101 virtual bool beginWrite(uint16 address) abstract;
102
121 virtual bool beginRead(uint16 address) abstract;
122
133 virtual bool abort(void) abstract;
134
143 virtual void setEventError(
144 hal::serial::IICMaster::EventError* event = nullptr) abstract;
145};
146
156struct hal::serial::IICMaster::EventError {
157 /* ***********************************************************************************
158 * Method
159 */
160
169 virtual void onNanAcknowledgeEvent(int queueRemainingCount) abstract;
170
179 virtual void onBusBusyEvent(int queueRemainingCount) abstract;
180};
181
182/* ***************************************************************************************
183 * End of file
184 */
185
186#endif /* MFRAME_BC6AED96_3002_4548_9697_75C3F61F2EE5 */
Definition IIC.h:22
Definition AnalogInputPin.h:22
[Interface] IIC基礎介面
Definition IIC.h:38
[Interface] IIC錯誤事件處理器
Definition IICMaster.h:156
virtual void onNanAcknowledgeEvent(int queueRemainingCount) override
當發生無回應(NAK)事件時調用
virtual void onBusBusyEvent(int queueRemainingCount) override
當發生總線忙碌事件時調用
[Interface] IIC主端設備介面
Definition IICMaster.h:39
virtual bool beginWrite(uint16 address) override
開始寫入傳輸事件
virtual bool beginRead(uint16 address) override
開始讀取傳輸事件
virtual void setEventError(hal::serial::IICMaster::EventError *event=nullptr) override
設定錯誤事件處理器
virtual bool abort(void) override
中止當前傳輸
virtual void setClock(uint32 hz) override
設定傳輸時脈頻率
virtual bool isBusy(void) override
檢查總線狀態
virtual hal::serial::IIC & getIIC(void) override
取得IIC基礎介面參考
virtual uint32 getClock(void) override
讀取當前傳輸時脈頻率