#include "stm32f10x.h"
#include "gpio.h"


void GPIO_int()
{
  GPIO_InitTypeDef  GPIO_InitStruct;

  RCC_APB2PeriphClockCmd( RCC_APB2Periph_SPI1, ENABLE );
  
  /****************************************
   RF_NSS
  ****************************************/
  GPIO_InitStruct.GPIO_Speed=GPIO_Speed_50MHz;
  GPIO_InitStruct.GPIO_Mode=GPIO_Mode_Out_PP;
  GPIO_InitStruct.GPIO_Pin=RF_NSS_IO;
  GPIO_Init(RF_NSS_PORT, &GPIO_InitStruct);
  
  
  /****************************************
   M_CLK
  ****************************************/
  GPIO_InitStruct.GPIO_Speed=GPIO_Speed_50MHz;
  GPIO_InitStruct.GPIO_Mode=GPIO_Mode_AF_PP;
  GPIO_InitStruct.GPIO_Pin=RF_CLK_IO;
  GPIO_Init(RF_CLK_PORT, &GPIO_InitStruct);
  //GPIO_PinAFConfig(RF_CLK_PORT,RF_CLK_AF,GPIO_AF_0);
    
  /****************************************
   M_MOSI
  ****************************************/
  GPIO_InitStruct.GPIO_Speed=GPIO_Speed_50MHz;
  GPIO_InitStruct.GPIO_Mode=GPIO_Mode_AF_PP;
  GPIO_InitStruct.GPIO_Pin=RF_MOSI_IO;
  GPIO_Init(RF_MOSI_PORT, &GPIO_InitStruct);
  //GPIO_PinAFConfig(RF_MOSI_PORT,RF_MOSI_AF,GPIO_AF_0);

  /****************************************
   M_MISO
  ****************************************/
  GPIO_InitStruct.GPIO_Speed=GPIO_Speed_50MHz;
  GPIO_InitStruct.GPIO_Mode=GPIO_Mode_AF_PP;
  GPIO_InitStruct.GPIO_Pin=RF_MISO_IO;
  GPIO_Init(RF_MISO_PORT, &GPIO_InitStruct);
  //GPIO_PinAFConfig(RF_MISO_PORT,RF_MISO_AF,GPIO_AF_0);
  
  
  /****************************************
   RF_RST
  ****************************************/
  GPIO_InitStruct.GPIO_Speed=GPIO_Speed_10MHz;
  GPIO_InitStruct.GPIO_Mode=GPIO_Mode_Out_PP;
  GPIO_InitStruct.GPIO_Pin=RF_RST_IO;
  GPIO_Init(RF_RST_PORT, &GPIO_InitStruct);

#if 0
  /****************************************
   LED1
  ****************************************/
  GPIO_InitStruct.GPIO_Speed=GPIO_Speed_10MHz;
  GPIO_InitStruct.GPIO_Mode=GPIO_Mode_Out_PP;
  GPIO_InitStruct.GPIO_Pin=LED1_PIN;
  GPIO_Init(LED1_PORT, &GPIO_InitStruct);
#endif  
  
  /****************************************
   RF_DIO0
  ****************************************/
  GPIO_InitStruct.GPIO_Speed=GPIO_Speed_10MHz;
  GPIO_InitStruct.GPIO_Mode=GPIO_Mode_IN_FLOATING;
  GPIO_InitStruct.GPIO_Pin=RF_DIO0_IO;
  GPIO_Init(RF_DIO0_PORT, &GPIO_InitStruct);
  
  
   /****************************************
   RF_DIO1
  ****************************************/
  GPIO_InitStruct.GPIO_Speed=GPIO_Speed_10MHz;
  GPIO_InitStruct.GPIO_Mode=GPIO_Mode_IN_FLOATING;
  GPIO_InitStruct.GPIO_Pin=RF_DIO1_IO;
  GPIO_Init(RF_DIO1_PORT, &GPIO_InitStruct);
  
  /****************************************
   RF_DIO3
  ****************************************/
  GPIO_InitStruct.GPIO_Speed=GPIO_Speed_10MHz;
  GPIO_InitStruct.GPIO_Mode=GPIO_Mode_IN_FLOATING;
  GPIO_InitStruct.GPIO_Pin=RF_DIO3_IO;
  GPIO_Init(RF_DIO3_PORT, &GPIO_InitStruct);	
	
	/*sx1278 射频芯片 接收引脚初始化 ---输出*/
  GPIO_InitStruct.GPIO_Pin =  RXE_PIN;       			 //引脚                                               
  GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;   //频率(50M)																										//输出类型(推挽式输出)
  GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP;
  GPIO_Init(RXE_PORT, &GPIO_InitStruct);

	/*sx1278 射频芯片 发射引脚初始化 ---输出*/
  GPIO_InitStruct.GPIO_Pin =  TXE_PIN;       			 //引脚                                               
  GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;   //频率(50M)																										//输出类型(推挽式输出)
  GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP;
  GPIO_Init(TXE_PORT, &GPIO_InitStruct);
}
