firmware  v0.1.2
Chromation Spectrometer Dev-Kit
Typedefs | Functions | Variables
Spi.h File Reference

Spi.h declares SPI hardware types and variables common to the SPI Master and SPI Slave. More...

#include <stdint.h>
#include "ReadWriteBits.h"

Go to the source code of this file.

Typedefs

typedef uint8_t volatile *const spi_reg
 
typedef uint8_t const spi_bit
 

Functions

void _EnableSpiModule (void)
 
bool _SpiTransferIsDone (void)
 
uint8_t ReadSpiStatusRegister (void)
 
uint8_t ReadSpiDataRegister (void)
 
void ClearSpiInterruptFlag (void)
 

Variables

spi_reg Spi_PortDirection
 Atmel DDR.
 
spi_reg Spi_PortInput
 Atmel PIN.
 
spi_reg Spi_PortOutput
 Atmel PORT.
 
spi_reg Spi_PortPullup
 Atmel PORT alias.
 
spi_reg Spi_SPCR
 SPI Control Register.
 
spi_reg Spi_SPSR
 SPI Status Register.
 
spi_reg Spi_SPDR
 SPI Data Register. More...
 
spi_bit Spi_DataReady
 
spi_bit Spi_Ss
 
spi_bit Spi_Mosi
 
spi_bit Spi_Miso
 
spi_bit Spi_Sck
 
spi_bit Spi_MasterSlaveSelect
 
spi_bit Spi_ClockBit0
 
spi_bit Spi_ClockBit1
 
spi_bit Spi_DoubleClock
 
spi_bit Spi_Enable
 
spi_bit Spi_InterruptEnable
 
spi_bit Spi_InterruptFlag
 

Detailed Description

Spi.h declares SPI hardware types and variables common to the SPI Master and SPI Slave.

Definitions for I/O register and bit number depend on the compiler and target:

A SPI interface usually only has four SPI pins:

The development kit uses a 5th SPI pin:

Data Ready signals when vis-spi-out is ready for a SPI transmission:

API

uint8_t ReadSpiStatusRegister(void);
uint8_t ReadSpiDataRegister(void);
void ClearSpiInterruptFlag(void);

Definition in file Spi.h.

Function Documentation

◆ _EnableSpiModule()

void _EnableSpiModule ( void  )
inline

Set SPE bit in SPCR (SPI Control Register) to enable SPI. This bit must be set to enable any SPI operations.

Definition at line 75 of file Spi.h.

◆ _SpiTransferIsDone()

bool _SpiTransferIsDone ( void  )
inline

_SpiTransferIsDone behavior:

  • returns true if the SPI Interrupt Flag is set
  • returns false if the SPI Interrupt Flag is clear

Definition at line 88 of file Spi.h.

◆ ClearSpiInterruptFlag()

void ClearSpiInterruptFlag ( void  )
inline

Manually clear SPI interrupt flag.

ClearSpiInterruptFlag behavior:

  • first reads SPI status register
  • then reads SPI data register

Definition at line 116 of file Spi.h.

Variable Documentation

◆ Spi_SPDR

spi_reg Spi_SPDR
extern

SPI Data Register.

SPI Data Register.

Definition at line 26 of file SpiSlave-HardwareFake.h.