BLE数据收发 与 添加自定义服务
一、阅读例程
直接测试发送数据,根据测试的LOG去找代码,就可以发现、理解代码
1、接收数据
从下图就可以理解p_Notification->DataTransfered.p_Payload[1] 是接收到的数据。
2、发送数据
发送数据就没看到例子了,翻了一下代码,发现了Notify相关字眼的代码,就看一看,试一试。
看到下图的代码,跳转后发现,感觉就是发送数据代码。于是测试了一下
跳转后,看看输入参数,分别是
①操作码
②类型为P2P_SERVER_Data_t的数据
③handle
二、修改例程实现 收发数据
实验目的:
测试接收到手机发送的数据后,主动发送数据给手机。
代码:
片段1:打印接收的数据
<p>APP_DBG_MSG("receive data :"); </p><p> for(int i=0;i<p_Notification->DataTransfered.Length;i++){</p><p> APP_DBG_MSG(" %02X",p_Notification->DataTransfered.p_Payload[i]); </p><p> }</p><p> APP_DBG_MSG("\n"); </p><p></p>
片段2:主动发送数据
<p><span style="background-color: rgb(255, 255, 255);">数据</span>赋值:</p><p> temp.p_Payload[0]=0x66;</p><p> temp.p_Payload[1]=0x77;</p><p> temp.p_Payload[2]=0x88;</p><p> temp.p_Payload[3]=0x99;</p><p> temp.Length=4; </p><p>
</p><p>打印数据检查:</p><p> APP_DBG_MSG("----- Length %d \n",temp.Length); </p><p> for(int i=0;i<temp.Length;i++){</p><p> APP_DBG_MSG(" %02X",temp.p_Payload[i]); </p><p> }</p><p> APP_DBG_MSG("\n"); </p><p>
</p><p>发送数据:</p><p> TEMP_NotifyValue(TEMP_TEMP_NOTIFY,&temp,TEMP_APP_Context.ConnectionHandle);</p><div>
</div>
实际代码 与 实验结果:
三、主动发送温度
开个定时器间隔1秒,调用一次测量温度 与 发送数据,实验结果如下:
手机可以正常接收到WB0发送的数据
四、Web BLE 显示温度
|