ethspi.h
Go to the documentation of this file.00001
00035 #ifndef __ETHERNET_SPI_H
00036 #define __ETHERNET_SPI_H
00037 #include <stdint.h>
00038
00039
00043
00050 #ifdef __cplusplus
00051 extern "C" {
00052 #endif
00053
00054 #define BAUDRATE_100K 100000
00055 #define ETH_USART_USED USART1
00056 #define ETH_USART_CLK cmuClock_USART1
00057 #define BOGUS_BYTE 0xFF
00058 #define REG_MASK 0x03
00059 #define OPCODE_REG_READ 0x00
00060 #define OPCODE_REG_WRITE 0x40
00061 #define OPCODE_FIFO_READ 0x80
00062 #define OPCODE_FIFO_WRITE 0xC0
00063 #define SHIFT_VAL 0x02
00064 #define ADDRESS_MS2B_MASK 0xC0
00065 #define ADDRESS_MS2B_POS 0x06
00067
00068
00069 #define SPI_MOSI_PIN 0
00070 #define SPI_MOSI_PORT gpioPortD
00071 #define SPI_MISO_PIN 1
00072 #define SPI_MISO_PORT gpioPortD
00073 #define SPI_CLK_PIN 2
00074 #define SPI_CLK_PORT gpioPortD
00075 #define SPI_CS_PIN 3
00076 #define SPI_CS_PORT gpioPortD
00080 void ETHSPI_Init(void);
00081 void ETHSPI_ReadRegister(uint8_t reg, int numBytes, void *data);
00082 void ETHSPI_WriteRegister(uint8_t reg, int numBytes, void *data);
00083 void ETHSPI_StartWriteFIFO(void);
00084 void ETHSPI_StartReadFIFO(void);
00085 void ETHSPI_StopFIFO(void);
00086 void ETHSPI_ReadFifoContinue(int numBytes, uint8_t *data);
00087 void ETHSPI_WriteFifoContinue(int numBytes, uint8_t *data);
00088
00089 #ifdef __cplusplus
00090 }
00091 #endif
00092
00096 #endif