InES Hardware Abstraction Layer
Data Structures | Enumerations | Functions
hal_spi.h File Reference

Interface of module hal_spi. More...

#include "reg_stm32f4xx.h"
#include "hal_common.h"

Go to the source code of this file.

Data Structures

struct  hal_spi_init_t
 Initialization structure for the serial peripheral interface. More...
 

Enumerations

enum  hal_spi_mode_t { HAL_SPI_MODE_SLAVE = 0x0, HAL_SPI_MODE_MASTER = 0x1 }
 Controller mode. More...
 
enum  hal_spi_dir_t { HAL_SPI_DIR_BOTH = 0x0, HAL_SPI_DIR_READ = 0x2, HAL_SPI_DIR_WRITE = 0x3 }
 Transfer direction. More...
 
enum  hal_spi_size_t { HAL_SPI_SIZE_8B = 0u, HAL_SPI_SIZE_16B = 1u }
 Size of the data frame. More...
 
enum  hal_spi_nss_t { HAL_SPI_NSS_HW = 0x0, HAL_SPI_NSS_SW = 0x3 }
 Control of slave select pin. More...
 
enum  hal_spi_prescaler_t {
  HAL_SPI_PRE_2 = 0u, HAL_SPI_PRE_4 = 1u, HAL_SPI_PRE_8 = 2u, HAL_SPI_PRE_16 = 3u,
  HAL_SPI_PRE_32 = 4u, HAL_SPI_PRE_64 = 5u, HAL_SPI_PRE_128 = 6u, HAL_SPI_PRE_256 = 7u
}
 Baude rate control. More...
 
enum  hal_spi_frame_t { HAL_SPI_FRAME_MOTOROLLA = 0x0, HAL_SPI_FRAME_TI = 0x1 }
 Defines SPI frame format. More...
 

Functions

void hal_spi_reset (reg_spi_t *spi) __attribute__((deprecated("Please use SPIx_RESET().")))
 Resets spi to default values. More...
 
void hal_spi_init (reg_spi_t *spi, hal_spi_init_t init)
 Initializes the specified serial peripheral interface. More...
 
uint8_t hal_spi_read_write (reg_spi_t *spi, uint8_t write_byte)
 Start specified SPI. More...
 

Detailed Description

Interface of module hal_spi.

The hardware abstraction layer for the serial peripheral interface.

$Id$

Enumeration Type Documentation

◆ hal_spi_dir_t

Transfer direction.

Enumerator
HAL_SPI_DIR_READ 

< Read and write.

HAL_SPI_DIR_WRITE 

< Read only.

◆ hal_spi_frame_t

Defines SPI frame format.

Enumerator
HAL_SPI_FRAME_TI 

< Motorolla type format.

◆ hal_spi_mode_t

Controller mode.

Enumerator
HAL_SPI_MODE_MASTER 

< Slave mode.

◆ hal_spi_nss_t

Control of slave select pin.

Enumerator
HAL_SPI_NSS_SW 

< Pin controled by hardware.

◆ hal_spi_prescaler_t

Baude rate control.

Enumerator
HAL_SPI_PRE_4 

< APB clock (42 MHz) / 2.

HAL_SPI_PRE_8 

< APB clock (42 MHz) / 4.

HAL_SPI_PRE_16 

< APB clock (42 MHz) / 8.

HAL_SPI_PRE_32 

< APB clock (42 MHz) / 16.

HAL_SPI_PRE_64 

< APB clock (42 MHz) / 32.

HAL_SPI_PRE_128 

< APB clock (42 MHz) / 64.

HAL_SPI_PRE_256 

< APB clock (42 MHz) / 128.

◆ hal_spi_size_t

Size of the data frame.

Enumerator
HAL_SPI_SIZE_16B 

< Data size 8 bit.

Function Documentation

◆ hal_spi_init()

void hal_spi_init ( reg_spi_t spi,
hal_spi_init_t  init 
)

Initializes the specified serial peripheral interface.

Parameters
spi: Defines SPI to initialize.
init: Structure with SPI configuration.

◆ hal_spi_read_write()

uint8_t hal_spi_read_write ( reg_spi_t spi,
uint8_t  write_byte 
)

Start specified SPI.

Parameters
spi: Defines SPI to start.
write_byteData to be sent via SPI.
Returns
Data received from SPI.

◆ hal_spi_reset()

void hal_spi_reset ( reg_spi_t spi)

Resets spi to default values.

Parameters
spi: Defines spi to reset.