#ifndef __SPISETUP_H__
#define __SPISETUP_H__
/*--------------------------------------------------------------------------------------
*  @file     SPISetup.h
*  @author   ZhangJing
*  @version  base on stm32f0x   
*  @date     2015.09.11
*  @brief    串口驱动
---------------------------------------------------------------------------------------*/
#include "stdint.h"

//LCD引脚设置，现在用新引脚，保留原有引脚设置，根据OLD_LCD值来设定
#ifdef OLD_LCD
	#define LCD_SPI_GPIO_PORT           GPIOD
	#define LCD_SPI_CS_PIN							GPIO_Pin_8
	#define LCD_SPI_RST_PIN							GPIO_Pin_9
	#define LCD_SPI_RSDC_PIN						GPIO_Pin_11
	#define LCD_SPI_MISO_PIN						GPIO_Pin_12
	#define LCD_SPI_SCK_PIN							GPIO_Pin_13
	#define LCD_SPI_MOSI_PIN						GPIO_Pin_14
#else
	#define LCD_SPI_GPIO_PORT           GPIOD
	#define LCD_SPI_CS_PIN							GPIO_Pin_4
	#define LCD_SPI_RSTB_PIN						GPIO_Pin_3
	#define LCD_SPI_RSDC_PIN						GPIO_Pin_2
	#define LCD_SPI_MOSI_PIN						GPIO_Pin_8
	#define LCD_SPI_SCK_PIN							GPIO_Pin_9	
#endif

//------------------------io模拟spi部分---------------------------
#ifdef OLD_LCD
	// PD14-MOSI
	#define SPISetData(d) { if(d & 0x80) GPIO_SetBits(GPIOD,GPIO_Pin_12); else GPIO_ResetBits(GPIOD,GPIO_Pin_12);}
	//PD12-MISO
	#define SPIReadData() GPIO_ReadInputDataBit(GPIOD,GPIO_Pin_14)
	// PE0-SCK
	#define SPISetClk()	GPIO_SetBits(GPIOD,GPIO_Pin_13)
	#define SPIClrClk()	GPIO_ResetBits(GPIOD,GPIO_Pin_13)
#else
	// PD14-MOSI
	#define SPISetData(d) { if(d & 0x80) GPIO_SetBits(GPIOD,LCD_SPI_MOSI_PIN); else GPIO_ResetBits(GPIOD,LCD_SPI_MOSI_PIN);}
	//PD12-MISO
	#define SPIReadData() GPIO_ReadInputDataBit(GPIOD,GPIO_Pin_14)
	// PE0-SCK
	#define SPISetClk()	GPIO_SetBits(GPIOD,LCD_SPI_SCK_PIN)
	#define SPIClrClk()	GPIO_ResetBits(GPIOD,LCD_SPI_SCK_PIN)
#endif

void SPIInit( void );
uint8_t SPIWriteByte( uint8_t Byte );

#endif
