X-Git-Url: http://git.linex4red.de/pub/USBasp.git/blobdiff_plain/5712b8dff669dc1947cd7d6f34f13eb9fe6a8d0a..eff07bb87758a12064d9de9c859b1e6e6502f2ea:/LUFA/Drivers/Peripheral/SPI.h diff --git a/LUFA/Drivers/Peripheral/SPI.h b/LUFA/Drivers/Peripheral/SPI.h index 4ada7935c..6048d86a6 100644 --- a/LUFA/Drivers/Peripheral/SPI.h +++ b/LUFA/Drivers/Peripheral/SPI.h @@ -33,10 +33,16 @@ * Hardware SPI subsystem driver for the supported USB AVRs models. */ -/** \ingroup Group_SubsystemDrivers +/** \ingroup Group_PeripheralDrivers * @defgroup Group_SPI SPI Driver - LUFA/Drivers/Peripheral/SPI.h * - * Functions, macros, variables, enums and types related to the setup of a the SPI port. + * \section Sec_Dependencies Module Source Dependencies + * The following files must be built with any user project that uses this module: + * - None + * + * \section Module Description + * Driver for the hardware SPI port avaliable on most AVR models. This module provides + * an easy to use driver for the setup of and transfer of data over the AVR's SPI port. * * @{ */ @@ -85,8 +91,8 @@ /** Initializes the SPI subsystem, ready for transfers. Must be called before calling any other * SPI routines. * - * \param PrescalerMask Prescaler mask to set the SPI clock speed - * \param Master If true, sets the SPI system to use master mode, slave if false + * \param[in] PrescalerMask Prescaler mask to set the SPI clock speed + * \param[in] Master If true, sets the SPI system to use master mode, slave if false */ static inline void SPI_Init(const uint8_t PrescalerMask, const bool Master) { @@ -97,12 +103,14 @@ (PrescalerMask & ~SPI_USE_DOUBLESPEED)); if (PrescalerMask & SPI_USE_DOUBLESPEED) - SPSR = (1 << SPI2X); + SPSR |= (1 << SPI2X); + else + SPSR &= ~(1 << SPI2X); } /** Sends and receives a byte through the SPI interface, blocking until the transfer is complete. * - * \param Byte Byte to send through the SPI interface + * \param[in] Byte Byte to send through the SPI interface * * \return Response byte from the attached SPI device */ @@ -117,7 +125,7 @@ /** Sends a byte through the SPI interface, blocking until the transfer is complete. The response * byte sent to from the attached SPI device is ignored. * - * \param Byte Byte to send through the SPI interface + * \param[in] Byte Byte to send through the SPI interface */ static inline void SPI_SendByte(const uint8_t Byte) ATTR_ALWAYS_INLINE; static inline void SPI_SendByte(const uint8_t Byte)