欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

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

程序员文章站 2022-06-09 19:06:13
STEP1\ 通过对比p2ps和HeartRateFreeRTOS例程增删文件BLE_HeartRateFreeRTOS例程原目录替换成p2p_server_app.c修改内容1、增删文件1.1、Application/STM32_WPAN/app/ 目录下添加一文件:p2p_server_app.c1.2、Application/STM32_WPAN/app/ 目录下删除两个文件:1\ dis_app.c 2\ hrs_app.c2、序列器调度改成rtos任务2.1 添加代码...

STEP1\ 通过对比p2ps和HeartRateFreeRTOS例程增删文件
BLE_HeartRateFreeRTOS例程原目录
STM32WB55 在BLE_HeartRateFreeRTOS例程基础上修改成带rtos的p2ps透传服务
替换成
STM32WB55 在BLE_HeartRateFreeRTOS例程基础上修改成带rtos的p2ps透传服务

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();

本文地址:https://blog.csdn.net/qq_28851611/article/details/107389770

相关标签: STM32WB55 freertos