STM32WB55 在BLE_HeartRateFreeRTOS例程基础上修改成带rtos的p2ps透传服务
程序员文章站
2022-03-02 14:45:01
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例程原目录
替换成
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