12 #ifndef __SPI_DEVICE_H__
13 #define __SPI_DEVICE_H__
18 #define SPI_BUFF_SIZE 16
76 typedef const struct {
78 void (*Disable)(void);
79 void (*IrqEnable)(void);
80 void (*IrqDisable)(void);
81 uint8_t (*ReadData)(void);
82 uint8_t (*GetStatus)(void);
83 void (*WriteData)(uint8_t data);
84 void (*SetMode)(uint8_t mode);
85 void (*SetClockDivider)(uint8_t div);
86 void (*SetPhase)(uint8_t pha);
87 void (*SetPolarity)(uint8_t pol);
88 void (*IRQDelay)(uint8_t cnt);
89 void (*ClearIRQ)(void);
SPI_DEV_CLOCK_POLARITY_t
The enumeration of DPI polarity.
Definition: spi_device.h:31
Definition: spi_device.h:50
Definition: spi_device.h:59
uint8_t Mode
Definition: spi_device.h:66
int32_t SPI_devWriteData(SPI_Device_t *dev, uint8_t cmd, uint8_t *data, uint32_t len)
Write Data to SPI device.
Definition: spi_device.c:143
uint8_t ClockDiv
Definition: spi_device.h:67
Definition: spi_device.h:58
Definition: spi_device.h:56
enum IRQn IRQn_Type
The enumeration of Interrupt Number Assignments.
Definition: spi_device.h:54
Definition: spi_device.h:55
Definition: spi_device.h:51
uint8_t Phase
Definition: spi_device.h:68
Definition: spi_device.h:49
uint8_t Polarity
Definition: spi_device.h:69
IRQn_Type IRQ
Definition: spi_device.h:90
Definition: spi_device.h:33
Definition: spi_device.h:32
SPI_DEV_MODE_t
The enumeration of SPI mode.
Definition: spi_device.h:39
Definition: spi_device.h:57
int32_t SPI_devReadData(SPI_Device_t *dev, uint8_t cmd, uint8_t *data, uint32_t len)
Read Data from SPI device.
Definition: spi_device.c:118
Definition: spi_device.h:41
Definition: spi_device.h:53
Definition: spi_device.h:25
A structure to represent SPI device initialization data.
Definition: spi_device.h:65
Definition: spi_device.h:48
SPI_Device_t * SPI_devRequest(const char *name)
Request a SPI Device.
Definition: spi_device.c:94
int32_t SPI_devInit(SPI_Device_t *dev, SPI_Device_init_t *init)
Initialize SPI device.
Definition: spi_device.c:106
char * Name
Definition: spi_device.h:91
SPI_DEV_CLOCK_PHASE_t
The enumeration of SPI phase.
Definition: spi_device.h:23
void SPI_DevSetClockDivider(uint8_t div)
Set Clock Divider for SPI Device.
Definition: spi_device.c:50
uint8_t IntDlyCnt
Definition: spi_device.h:70
Definition: spi_device.h:40
A structure to represent SPI device.
Definition: spi_device.h:76
Definition: spi_device.h:52
Definition: spi_device.h:24