STM32WB55 在BLE_HeartRateFreeRTOS例程基础上修改成带rtos的p2ps透传服务

STEP1\ 通过对比p2ps和HeartRateFreeRTOS例程增删文件
BLE_HeartRateFreeRTOS例程原目录
在这里插入图片描述
替换成
在这里插入图片描述

p2p_server_app.c修改内容

1、 增删文件
1.1、Application/STM32_WPAN/app/ 目录下添加一文件:p2p_server_app.c
1.2、Application/STM32_WPAN/app/ 目录下删除两个文件:1\ dis_app.c 2\ hrs_app.c
2、 序列器调度改成rtos任务
2.1 添加代码

	//添加头文件 
	#include "cmsis_os.h"
	//定义P2p蓝牙服务任务ID 
	osThreadId_t P2psProcessId;
	//定义 rtos 任务参数
	const osThreadAttr_t P2psProcess_attr = {
		.name = CFG_P2PS_PROCESS_NAME,
		.attr_bits = CFG_P2PS_PROCESS_ATTR_BITS,
		.cb_mem = CFG_P2PS_PROCESS_CB_MEM,
		.cb_size = CFG_P2PS_PROCESS_CB_SIZE,
		.stack_mem = CFG_P2PS_PROCESS_STACK_MEM,
		.priority = CFG_P2PS_PROCESS_PRIORITY,
		.stack_size = CFG_P2PS_PROCESS_STACK_SIZE
	};
	// 定义任务实体
	static void P2psProcess(void *argument)
	{
	  UNUSED(argument);
	  for(;;)
	  {
	    osThreadFlagsWait( 1, osFlagsWaitAny, osWaitForever);
	    //your p2ps process
	  }
	}

2.2修改代码
将序列器调度任务替换成rtos任务

void P2PS_APP_Init(void)
{
/* USER CODE BEGIN P2PS_APP_Init */
//  UTIL_SEQ_RegTask( 1<< CFG_TASK_SW1_BUTTON_PUSHED_ID, UTIL_SEQ_RFU, P2PS_Send_Notification );
P2psProcessId = osThreadNew(P2psProcess, NULL, &P2psProcess_attr);
  /**
   * Initialize LedButton Service
   */
  P2P_Server_App_Context.Notification_Status=0; 
//  P2PS_APP_LED_BUTTON_context_Init();
/* USER CODE END P2PS_APP_Init */
  return;
}

app_conf.h 修改内容

1、参考hrs添加rtos任务参数宏

#define CFG_P2PS_PROCESS_NAME                  "P2PS_PROCESS"
#define CFG_P2PS_PROCESS_ATTR_BITS             (0)
#define CFG_P2PS_PROCESS_CB_MEM                (0)
#define CFG_P2PS_PROCESS_CB_SIZE               (0)
#define CFG_P2PS_PROCESS_STACK_MEM             (0)
#define CFG_P2PS_PROCESS_PRIORITY              osPriorityNone
#define CFG_P2PS_PROCESS_STACK_SIZE            (128 * 5)

app_ble.c修改内容

1、添加头文件

#include "p2p_server_app.h"

2、修改 void APP_BLE_Init( void )
屏蔽 DISAPP_Init(); HRSAPP_Init(); 添加刚刚修改后的 P2PS_APP_Init();

#if 0
  /**
   * Initialize DIS Application
   */
  DISAPP_Init();

  /**
   * Initialize HRS Application
   */
  HRSAPP_Init();
#endif
	/**
	* Initialize P2P Server Application
	*/
	P2PS_APP_Init();

猜你喜欢

转载自blog.csdn.net/qq_28851611/article/details/107389770