mFrame
載入中...
搜尋中...
無符合項目
SPI.h
1
7#ifndef MFRAME_EEE94920_8745_4610_9D84_D4EE0FE64D14
8#define MFRAME_EEE94920_8745_4610_9D84_D4EE0FE64D14
9
10/* ***************************************************************************************
11 * Include
12 */
13
14//----------------------------------------------------------------------------------------
15#include "./../Base.h"
16
17//----------------------------------------------------------------------------------------
18
19/* ***************************************************************************************
20 * Namespace
21 */
22namespace hal::serial {
23 struct SPI;
24} // namespace hal::serial
25
26/* ***************************************************************************************
27 * Class/Interface/Struct/Enum
28 */
29
38struct hal::serial::SPI : public hal::Base {
39 /* *************************************************************************************
40 * Class/Interface/Struct/Enum
41 */
42 enum struct ClockMode : uint8;
43 struct Event;
44
45 /* *************************************************************************************
46 * Method
47 */
48
64 virtual bool setClockMode(SPI::ClockMode mode) abstract;
65
71 virtual SPI::ClockMode getClockMode(void) abstract;
72
78 virtual void setEvent(SPI::Event* event) abstract;
79
93 virtual bool setLSB(bool enable) abstract;
94};
95
102enum struct hal::serial::SPI::ClockMode : uint8 {
103 MODE0 = 0, /*< CPOL=0, CPHA=0 */
104 MODE1 = 1, /*< CPOL=0, CPHA=1 */
105 MODE2 = 2, /*< CPOL=1, CPHA=0 */
106 MODE3 = 3 /*< CPOL=1, CPHA=1 */
107};
108
118 /* *************************************************************************************
119 * Method
120 */
121
127 virtual void onReceiver(const uint16 data) abstract;
128
136 virtual bool onTransfer(uint16& data) abstract;
137};
138
139/* ***************************************************************************************
140 * End of file
141 */
142
143#endif /* MFRAME_EEE94920_8745_4610_9D84_D4EE0FE64D14 */
Definition IIC.h:22
SPI
Low Power SPI 0 Reset Control.
[Interface] 硬體抽象層基礎介面
Definition Base.h:38
[Interface] SPI事件處理器
Definition SPI.h:117
virtual void onReceiver(const uint16 data) override
當接收到資料時調用
virtual bool onTransfer(uint16 &data) override
當需要傳輸資料時調用
[Interface] SPI基礎介面
Definition SPI.h:38
virtual void setEvent(SPI::Event *event) override
設定事件處理器
ClockMode
SPI時脈極性模式
Definition SPI.h:102
virtual bool setClockMode(SPI::ClockMode mode) override
設定SPI時脈極性
virtual SPI::ClockMode getClockMode(void) override
取得SPI時脈極性
virtual bool setLSB(bool enable) override
啟用或禁用LSB優先傳輸