OpenMPTL - STM32 (common)
C++ Microprocessor Template Library
Classes | Public Types | Static Public Attributes | List of all members
mptl::SPI_Common< _base_addr > Struct Template Reference

Serial peripheral interface (SPI) More...

#include <spi.hpp>

Classes

struct  CR1
 Control register 1. More...
 
struct  CR2
 Control register 2. More...
 
struct  I2SCFGR
 I2S configuration register. More...
 
struct  I2SPR
 I2S prescaler register. More...
 
struct  SR
 Status register. More...
 

Public Types

using DR = reg< std::uint_fast16_t, base_addr+0x0c, rw, 0x0000 >
 Data register. More...
 
using CRCPR = reg< std::uint_fast16_t, base_addr+0x10, rw, 0x0007 >
 CRC polynomial register. More...
 
using RXCRCR = reg< std::uint_fast16_t, base_addr+0x14, ro, 0x0000 >
 Rx CRC register. More...
 
using TXCRCR = reg< std::uint_fast16_t, base_addr+0x18, ro, 0x0000 >
 Tx CRC register. More...
 

Static Public Attributes

static constexpr reg_addr_t base_addr = _base_addr
 

Detailed Description

template<reg_addr_t _base_addr>
struct mptl::SPI_Common< _base_addr >

NOTE: We use std::uint_fast16_t to access the registers. This way we leave it up to the compiler to use either 16-bit or 32-bit integers for the access_type. More precicely: "use fastest unsigned integer type with width of at least 16 bits". In most situations the compiler (gcc-4.8) will use 32bit integers.

Member Typedef Documentation

◆ CRCPR

template<reg_addr_t _base_addr>
using mptl::SPI_Common< _base_addr >::CRCPR = reg< std::uint_fast16_t, base_addr + 0x10, rw, 0x0007 >

◆ DR

template<reg_addr_t _base_addr>
using mptl::SPI_Common< _base_addr >::DR = reg< std::uint_fast16_t, base_addr + 0x0c, rw, 0x0000 >

◆ RXCRCR

template<reg_addr_t _base_addr>
using mptl::SPI_Common< _base_addr >::RXCRCR = reg< std::uint_fast16_t, base_addr + 0x14, ro, 0x0000 >

◆ TXCRCR

template<reg_addr_t _base_addr>
using mptl::SPI_Common< _base_addr >::TXCRCR = reg< std::uint_fast16_t, base_addr + 0x18, ro, 0x0000 >

Member Data Documentation

◆ base_addr

template<reg_addr_t _base_addr>
constexpr reg_addr_t mptl::SPI_Common< _base_addr >::base_addr = _base_addr
static

The documentation for this struct was generated from the following file: