Serial Peripheral Interface Reusable Driver
v1.1
This project implements SPI reusable driver that can be adapted to various microcontrollers.
Loading...
Searching...
No Matches
spi_cfg.h
Go to the documentation of this file.
1
13
#ifndef SPI_CFG_H_
14
#define SPI_CFG_H_
15
16
/*****************************************************************************
17
* Includes
18
*****************************************************************************/
19
#include <stdio.h>
20
21
/****************************************************************************
22
* Preprocessor Constants
23
*****************************************************************************/
27
#define SPI_PORTS_NUMBER 4U
28
29
/****************************************************************************
30
* Typedefs
31
*****************************************************************************/
36
typedef
enum
37
{
38
SPI_CHANNEL1
,
39
SPI_CHANNEL2
,
40
SPI_CHANNEL3
,
41
SPI_CHANNEL4
,
42
SPI_MAX_CHANNEL
43
}
SpiChannel_t
;
44
48
typedef
enum
49
{
50
SPI_MODE0
,
51
SPI_MODE1
,
52
SPI_MODE2
,
53
SPI_MODE3
,
54
SPI_MAX_MODE
55
}
SpiMode_t
;
56
61
typedef
enum
62
{
63
SPI_SLAVE
,
64
SPI_MASTER
,
65
SPI_MAX_HIERARCHY
66
}
SpiHierarchy_t
;
67
71
typedef
enum
72
{
73
SPI_FPCLK2
,
74
SPI_FPCLK4
,
75
SPI_FPCLK8
,
76
SPI_FPCLK16
,
77
SPI_FPCLK32
,
78
SPI_FPCLK64
,
79
SPI_FPCLK128
,
80
SPI_FPCLK256
,
81
SPI_MAX_FPCLK
82
}
SpiBaudRate_t
;
83
91
typedef
enum
92
{
93
SPI_SOFTWARE_NSS
,
94
SPI_HARDWARE_NSS_ENABLED
,
95
SPI_HARDWARE_NSS_DISABLED
,
96
SPI_MAX_NSS
97
}
SpiSlaveSelect_t
;
98
103
typedef
enum
104
{
105
SPI_MSB
,
106
SPI_LSB
,
107
SPI_MAX_FF
108
}
SpiFrameFormat_t
;
109
113
typedef
enum
114
{
115
SPI_FULL_DUPLEX
,
116
SPI_RECEIVE_MODE
,
117
SPI_MAX_DF
118
}
SpiTypeTransfer_t
;
119
123
typedef
enum
124
{
125
SPI_8BITS
,
126
SPI_16BITS
,
127
SPI_MAX_BITS
128
}
SpiDataSize_t
;
129
134
typedef
struct
135
{
136
SpiChannel_t
Channel
;
137
SpiMode_t
Mode
;
138
SpiHierarchy_t
Hierarchy
;
139
SpiBaudRate_t
BaudRate
;
140
SpiSlaveSelect_t
SlaveSelect
;
141
SpiFrameFormat_t
FrameFormat
;
142
SpiTypeTransfer_t
TypeTransfer
;
143
SpiDataSize_t
DataSize
;
144
}
SpiConfig_t
;
145
146
147
/**********************************************************************
148
* Function Prototypes
149
**********************************************************************/
150
#ifdef __cplusplus
151
extern
"C"
{
152
#endif
153
154
const
SpiConfig_t
*
const
SPI_ConfigGet
(
void
);
155
size_t
SPI_configSizeGet
(
void
);
156
157
#ifdef __cplusplus
158
}
//extern "C"
159
#endif
160
161
#endif
/*SPI_H_*/
SpiBaudRate_t
SpiBaudRate_t
Definition
spi_cfg.h:72
SPI_FPCLK128
@ SPI_FPCLK128
Definition
spi_cfg.h:79
SPI_FPCLK32
@ SPI_FPCLK32
Definition
spi_cfg.h:77
SPI_FPCLK16
@ SPI_FPCLK16
Definition
spi_cfg.h:76
SPI_FPCLK8
@ SPI_FPCLK8
Definition
spi_cfg.h:75
SPI_FPCLK4
@ SPI_FPCLK4
Definition
spi_cfg.h:74
SPI_FPCLK256
@ SPI_FPCLK256
Definition
spi_cfg.h:80
SPI_FPCLK64
@ SPI_FPCLK64
Definition
spi_cfg.h:78
SPI_MAX_FPCLK
@ SPI_MAX_FPCLK
Definition
spi_cfg.h:81
SPI_FPCLK2
@ SPI_FPCLK2
Definition
spi_cfg.h:73
SpiHierarchy_t
SpiHierarchy_t
Definition
spi_cfg.h:62
SPI_MAX_HIERARCHY
@ SPI_MAX_HIERARCHY
Definition
spi_cfg.h:65
SPI_MASTER
@ SPI_MASTER
Definition
spi_cfg.h:64
SPI_SLAVE
@ SPI_SLAVE
Definition
spi_cfg.h:63
SpiSlaveSelect_t
SpiSlaveSelect_t
Definition
spi_cfg.h:92
SPI_SOFTWARE_NSS
@ SPI_SOFTWARE_NSS
Definition
spi_cfg.h:93
SPI_MAX_NSS
@ SPI_MAX_NSS
Definition
spi_cfg.h:96
SPI_HARDWARE_NSS_ENABLED
@ SPI_HARDWARE_NSS_ENABLED
Definition
spi_cfg.h:94
SPI_HARDWARE_NSS_DISABLED
@ SPI_HARDWARE_NSS_DISABLED
Definition
spi_cfg.h:95
SPI_configSizeGet
size_t SPI_configSizeGet(void)
Definition
spi_cfg.c:129
SPI_ConfigGet
const SpiConfig_t *const SPI_ConfigGet(void)
Definition
spi_cfg.c:89
SpiChannel_t
SpiChannel_t
Definition
spi_cfg.h:37
SPI_CHANNEL3
@ SPI_CHANNEL3
Definition
spi_cfg.h:40
SPI_CHANNEL2
@ SPI_CHANNEL2
Definition
spi_cfg.h:39
SPI_MAX_CHANNEL
@ SPI_MAX_CHANNEL
Definition
spi_cfg.h:42
SPI_CHANNEL4
@ SPI_CHANNEL4
Definition
spi_cfg.h:41
SPI_CHANNEL1
@ SPI_CHANNEL1
Definition
spi_cfg.h:38
SpiDataSize_t
SpiDataSize_t
Definition
spi_cfg.h:124
SPI_16BITS
@ SPI_16BITS
Definition
spi_cfg.h:126
SPI_8BITS
@ SPI_8BITS
Definition
spi_cfg.h:125
SPI_MAX_BITS
@ SPI_MAX_BITS
Definition
spi_cfg.h:127
SpiFrameFormat_t
SpiFrameFormat_t
Definition
spi_cfg.h:104
SPI_MSB
@ SPI_MSB
Definition
spi_cfg.h:105
SPI_MAX_FF
@ SPI_MAX_FF
Definition
spi_cfg.h:107
SPI_LSB
@ SPI_LSB
Definition
spi_cfg.h:106
SpiTypeTransfer_t
SpiTypeTransfer_t
Definition
spi_cfg.h:114
SPI_MAX_DF
@ SPI_MAX_DF
Definition
spi_cfg.h:117
SPI_FULL_DUPLEX
@ SPI_FULL_DUPLEX
Definition
spi_cfg.h:115
SPI_RECEIVE_MODE
@ SPI_RECEIVE_MODE
Definition
spi_cfg.h:116
SpiMode_t
SpiMode_t
Definition
spi_cfg.h:49
SPI_MAX_MODE
@ SPI_MAX_MODE
Definition
spi_cfg.h:54
SPI_MODE2
@ SPI_MODE2
Definition
spi_cfg.h:52
SPI_MODE0
@ SPI_MODE0
Definition
spi_cfg.h:50
SPI_MODE1
@ SPI_MODE1
Definition
spi_cfg.h:51
SPI_MODE3
@ SPI_MODE3
Definition
spi_cfg.h:53
SpiConfig_t
Definition
spi_cfg.h:135
SpiConfig_t::FrameFormat
SpiFrameFormat_t FrameFormat
Definition
spi_cfg.h:141
SpiConfig_t::DataSize
SpiDataSize_t DataSize
Definition
spi_cfg.h:143
SpiConfig_t::Mode
SpiMode_t Mode
Definition
spi_cfg.h:137
SpiConfig_t::Hierarchy
SpiHierarchy_t Hierarchy
Definition
spi_cfg.h:138
SpiConfig_t::BaudRate
SpiBaudRate_t BaudRate
Definition
spi_cfg.h:139
SpiConfig_t::Channel
SpiChannel_t Channel
Definition
spi_cfg.h:136
SpiConfig_t::SlaveSelect
SpiSlaveSelect_t SlaveSelect
Definition
spi_cfg.h:140
SpiConfig_t::TypeTransfer
SpiTypeTransfer_t TypeTransfer
Definition
spi_cfg.h:142
SPI
include
spi_cfg.h
Generated by
1.13.2