ethspi.h
Go to the documentation of this file.00001
00017 #ifndef __ETHERNET_SPI_H
00018 #define __ETHERNET_SPI_H
00019 #include <stdint.h>
00020
00021
00025
00032 #ifdef __cplusplus
00033 extern "C" {
00034 #endif
00035
00036 #define BAUDRATE_100K 100000
00037 #define ETH_USART_USED USART1
00038 #define ETH_USART_CLK cmuClock_USART1
00039 #define BOGUS_BYTE 0xFF
00040 #define REG_MASK 0x03
00041 #define OPCODE_REG_READ 0x00
00042 #define OPCODE_REG_WRITE 0x40
00043 #define OPCODE_FIFO_READ 0x80
00044 #define OPCODE_FIFO_WRITE 0xC0
00045 #define SHIFT_VAL 0x02
00046 #define ADDRESS_MS2B_MASK 0xC0
00047 #define ADDRESS_MS2B_POS 0x06
00049
00050
00051 #define SPI_MOSI_PIN 0
00052 #define SPI_MOSI_PORT gpioPortD
00053 #define SPI_MISO_PIN 1
00054 #define SPI_MISO_PORT gpioPortD
00055 #define SPI_CLK_PIN 2
00056 #define SPI_CLK_PORT gpioPortD
00057 #define SPI_CS_PIN 3
00058 #define SPI_CS_PORT gpioPortD
00062 void ETHSPI_Init(void);
00063 void ETHSPI_ReadRegister(uint8_t reg, int numBytes, void *data);
00064 void ETHSPI_WriteRegister(uint8_t reg, int numBytes, void *data);
00065 void ETHSPI_StartWriteFIFO(void);
00066 void ETHSPI_StartReadFIFO(void);
00067 void ETHSPI_StopFIFO(void);
00068 void ETHSPI_ReadFifoContinue(int numBytes, uint8_t *data);
00069 void ETHSPI_WriteFifoContinue(int numBytes, uint8_t *data);
00070
00071 #ifdef __cplusplus
00072 }
00073 #endif
00074
00078 #endif