void my_gpiote_config_high(void)
{
	ret_code_t err_code;	 
	err_code = nrf_drv_gpiote_init();
  APP_ERROR_CHECK(err_code);
	
	//以下代码配置作为GPIOTE输入，并分别配置引脚上升沿、下降沿和任意电平变化产生事件
	//高电平到低电平变化产生事件，即下降沿产生事件 true表示高精度高功耗的IN event
	nrf_drv_gpiote_in_config_t in_config = GPIOTE_CONFIG_IN_SENSE_TOGGLE(true); 
	//nrf_drv_gpiote_in_config_t in_config = NRFX_GPIOTE_CONFIG_IN_SENSE_HITOLO(true);//false   true
	//低精度不稳定
	//3K以内高精度不丢数
	//高精度增加10-20uA
	//2.5K 在连接时易丢数
	
  //开启引脚的上拉电阻
	in_config.pull = GPIO_PIN_CNF_PULL_Disabled;//NRF_GPIO_PIN_PULLUP;//开启上拉功耗大170uA
  //配置该引脚为GPIOTE输入
  err_code = nrf_drv_gpiote_in_init(HUOER_B, &in_config, in_pin_handler);
  APP_ERROR_CHECK(err_code);
  //使能该引脚所在GPIOTE通道的事件模式
  nrf_drv_gpiote_in_event_enable(HUOER_B, true);
}
uint16_t SpiFlash_ReadID(void)
{
  uint16_t dat = 0;
	//准备数据
	spi_tx_buf[0] = SPIFlash_ReadID;
	spi_tx_buf[1] = 0x00;
	spi_tx_buf[2] = 0x00;
	spi_tx_buf[3] = 0x00;
	spi_tx_buf[4] = 0xFF;
	spi_tx_buf[5] = 0xFF;
	//拉低CS，使能W25Q128FV
	SPIFlash_CS_LOW;
	//启动数据传输
	APP_ERROR_CHECK(nrf_drv_spi_transfer(&s_spiHandle, spi_tx_buf, 6, spi_rx_buf, 6));
  //拉高CS，释放W25Q128FV
	SPIFlash_CS_HIGH;
	//接收数组最后两个字节才是读取的ID
	dat|=spi_rx_buf[4]<<8;  
	dat|=spi_rx_buf[5];	

  return dat;		
}
void SPI_Flash_PowerDown(void)    //进入掉电模式
{ 
  SPIFlash_CS_LOW;
  Spi_WriteOneByte(DeepPowerDown);  //0xB9
  SPIFlash_CS_HIGH;
	nrf_delay_us(100);
	
	nrf_drv_gpiote_uninit();
	nrf_drv_spi_uninit(&s_spiHandle);
	nrf_gpio_cfg_default(SPI_MISO_PIN);
	nrf_gpio_cfg_default(SPI_MOSI_PIN);
	nrf_gpio_cfg_default(SPI_SCK_PIN);
//	my_gpiote_config_low();
//	nrf_drv_gpiote_uninit();
//	my_gpiote_config_high();
} 
void SPI_Flash_Init(void)
{
	nrf_gpio_cfg_default(SPI_MISO_PIN);
	nrf_gpio_cfg_default(SPI_MOSI_PIN);
	nrf_gpio_cfg_default(SPI_SCK_PIN);
	
    //配置用于SPI片选的引脚为输出
	  nrf_gpio_cfg_output(SPI_SS_PIN);
	  //拉高CS
	  SPIFlash_CS_HIGH;

	  //使用默认配置参数初始化SPI配置结构体
	  nrf_drv_spi_config_t spi_config = NRF_DRV_SPI_DEFAULT_CONFIG;
	  //重写SPI信号连接的引脚配置
    spi_config.ss_pin   = SPI_SS_PIN;//NRF_DRV_SPI_PIN_NOT_USED;
    spi_config.miso_pin = SPI_MISO_PIN;
    spi_config.mosi_pin = SPI_MOSI_PIN;
    spi_config.sck_pin  = SPI_SCK_PIN;
	  spi_config.frequency = NRF_DRV_SPI_FREQ_8M;
	
	  //初始化SPI 传入NULL，将进行阻塞模式，只有接收完成后，收发函数才会返回
    APP_ERROR_CHECK(nrf_drv_spi_init(&s_spiHandle, &spi_config, NULL, NULL));
		nrf_delay_us(100);
}