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.h
Go to the documentation of this file.
1
13#ifndef SPI_H_
14#define SPI_H_
15
16/*****************************************************************************
17* Includes
18*****************************************************************************/
19#include <stdint.h>
20#include <stdio.h>
21//#define NDEBUG /*To disable assert function*/
22#include <assert.h>
23#include "spi_cfg.h"
24#include "stm32f4xx.h"
25
26/*****************************************************************************
27* Preprocessor Constants
28*****************************************************************************/
29
30/*****************************************************************************
31* Configuration Constants
32*****************************************************************************/
33
34/*****************************************************************************
35* Macros
36*****************************************************************************/
37
38/*****************************************************************************
39* Typedefs
40*****************************************************************************/
41typedef struct
42{
44 uint16_t size;
45 uint16_t *data;
47
48/*****************************************************************************
49* Variables
50*****************************************************************************/
51
52/*****************************************************************************
53* Function Prototypes
54*****************************************************************************/
55#ifdef __cplusplus
56extern "C"{
57#endif
58
59void SPI_init(const SpiConfig_t * const Config, size_t configSize);
60void SPI_transfer(const SpiTransferConfig_t * const TransferConfig);
61void SPI_receive(const SpiTransferConfig_t * const TransferConfig);
62void SPI_registerWrite(uint32_t address, uint32_t value);
63uint16_t SPI_registerRead(uint32_t address);
64
65#ifdef __cplusplus
66} // extern C
67#endif
68
69#endif /*SPI_H_*/
uint16_t SPI_registerRead(uint32_t address)
Definition spi.c:498
void SPI_init(const SpiConfig_t *const Config, size_t configSize)
Definition spi.c:103
void SPI_transfer(const SpiTransferConfig_t *const TransferConfig)
Definition spi.c:321
void SPI_receive(const SpiTransferConfig_t *const TransferConfig)
Definition spi.c:401
void SPI_registerWrite(uint32_t address, uint32_t value)
Definition spi.c:459
This module contains interface definitions for the SPI configuration. This is the header file for the...
SpiChannel_t
Definition spi_cfg.h:37
Definition spi_cfg.h:135
Definition spi.h:42
uint16_t * data
Definition spi.h:45
uint16_t size
Definition spi.h:44
SpiChannel_t Channel
Definition spi.h:43