- 在sdk_config.h中定义宏
//  PA功能配置菜单
//  PA TX引脚配置
// 
#ifndef PA_TX_PIN
#define PA_TX_PIN 24
#endif
//  PA RX引脚配置
// 
#ifndef PA_RX_PIN
#define PA_RX_PIN 20
#endif
// 2. PA功能函数实现
void pa_lna_assist(uint32_t gpio_pa_pin, uint32_t gpio_lna_pin);
//--------------------ANT PA----------------------------------------
void setAntPaLnaConfig(uint32_t gpio_pa_pin, uint32_t gpio_lna_pin)
{
	 ret_code_t err_code;
		ANT_PA_LNA_CONFIG ant_pa_lna_config;
	  ant_pa_lna_config.PA_CONFIG.bEnabled = true;
	  ant_pa_lna_config.PA_CONFIG.ucGPIO = gpio_pa_pin;
	  ant_pa_lna_config.PA_CONFIG.bActiveState = 1;
	  ant_pa_lna_config.LNA_CONFIG.bEnabled = true;
	  ant_pa_lna_config.LNA_CONFIG.ucGPIO = gpio_lna_pin;
	  ant_pa_lna_config.LNA_CONFIG.bActiveState = 1;
	
	    nrf_ppi_channel_t ppi_set_ch;
      nrf_ppi_channel_t ppi_clr_ch;
	    uint32_t gpio_toggle_ch = 0;
	
	
	   err_code = nrf_drv_ppi_channel_alloc(&ppi_set_ch);
    APP_ERROR_CHECK(err_code);
    err_code = nrf_drv_ppi_channel_alloc(&ppi_clr_ch);
    APP_ERROR_CHECK(err_code);
	
	  ant_pa_lna_config.ucGPIOTECh = gpio_toggle_ch;
	  ant_pa_lna_config.ucPPIChEnable = ppi_set_ch;
	  ant_pa_lna_config.ucPPIChDisable = ppi_clr_ch;
	
		sd_ant_config_pa_lna_set(&ant_pa_lna_config);
	
}
//------------------BLE PA----------------------------------------------
void pa_lna_assist(uint32_t gpio_pa_pin, uint32_t gpio_lna_pin)
{
    ret_code_t err_code;
      nrf_ppi_channel_t ppi_set_ch;
      nrf_ppi_channel_t ppi_clr_ch;
	    uint32_t gpio_toggle_ch = 1;
	
	
	  err_code = nrf_drv_ppi_channel_alloc(&ppi_set_ch);
    APP_ERROR_CHECK(err_code);
    err_code = nrf_drv_ppi_channel_alloc(&ppi_clr_ch);
    APP_ERROR_CHECK(err_code);
    // Configure SoftDevice PA/LNA assist
    ble_opt_t opt;
    memset(&opt, 0, sizeof(ble_opt_t));
    // Common PA/LNA config
    opt.common_opt.pa_lna.gpiote_ch_id  = gpio_toggle_ch;        // GPIOTE channel
    opt.common_opt.pa_lna.ppi_ch_id_clr = ppi_clr_ch;            // PPI channel for pin clearing
    opt.common_opt.pa_lna.ppi_ch_id_set = ppi_set_ch;            // PPI channel for pin setting
    // PA config
    opt.common_opt.pa_lna.pa_cfg.active_high = 1;                // Set the pin to be active high
    opt.common_opt.pa_lna.pa_cfg.enable      = 1;                // Enable toggling
    opt.common_opt.pa_lna.pa_cfg.gpio_pin    = gpio_pa_pin;      // The GPIO pin to toggle
  
    // LNA config
    opt.common_opt.pa_lna.lna_cfg.active_high  = 1;              // Set the pin to be active high
    opt.common_opt.pa_lna.lna_cfg.enable       = 1;              // Enable toggling
    opt.common_opt.pa_lna.lna_cfg.gpio_pin     = gpio_lna_pin;   // The GPIO pin to toggle
    err_code = sd_ble_opt_set(BLE_COMMON_OPT_PA_LNA, &opt);
    APP_ERROR_CHECK(err_code);
		setAntPaLnaConfig(gpio_pa_pin,gpio_lna_pin);
}
3.在main函数主循环前调用pa_lna_assist函数即可实现PA功能

 
                 
    