12345678910111213141516171819202122232425262728293031 |
- #ifndef __LPC17XX_SPI_H__
- #define __LPC17XX_SPI_H__
- #include <stdint.h>
- #include <stdbool.h>
- // if not use FIFO, R: 600kB/s, W: 500kB/s
- // if use FIFO, R: 1.2MB/s, W: 800kB/s
- #define USE_FIFO 1
- /* bit-frequency = PCLK / (CPSDVSR * [SCR+1]), here SCR=0, PCLK=72MHz, must be even */
- #define SPI_SPEED_20MHz 4 /* => 18MHz */
- #define SPI_SPEED_25MHz 4 /* => 18MHz */
- #define SPI_SPEED_400kHz 180 /* => 400kHz */
- /* external functions */
- void LPC17xx_SPI_Init (void);
- void LPC17xx_SPI_DeInit( void );
- void LPC17xx_SPI_Release (void);
- void LPC17xx_SPI_SetSpeed (uint8_t speed);
- void LPC17xx_SPI_Select (void);
- void LPC17xx_SPI_DeSelect (void);
- void LPC17xx_SPI_SendByte (uint8_t data);
- uint8_t LPC17xx_SPI_RecvByte (void);
- #if USE_FIFO
- void LPC17xx_SPI_RecvBlock_FIFO (uint8_t *buff, uint32_t btr);
- void LPC17xx_SPI_SendBlock_FIFO (const uint8_t *buff);
- #endif
- #endif // __LPC17XX_SPI_H__
|