BLE5.0 主控240字节数据发送接收过程调试

硬件平台使用了phy6212 方案, 他的SDK 中带了一个Centrall例子,我刚开始调发现连接后数据发送不出去,后来屏蔽了绑定部分,因为绑定部分注册验证,所以BLE 从机也需要验证,当然这种验证比较麻烦,所以我就直接屏蔽了它。后面就正常了。

下面是代码主控代码路径

PHY62XX_SDK_2.1.0\example\ble_central\simpleBleCentral

屏蔽绑定部分,这部分在蓝牙启动开始事件处修改

  if ( events & START_DEVICE_EVT )
    {
			if(PowerStat==0)
        // Start the Device
        VOID GAPCentralRole_StartDevice( (gapCentralRoleCB_t *) &simpleBLERoleCB );

		//	屏蔽绑定部分
        // Register with bond manager after starting device
       // GAPBondMgr_Register( (gapBondCBs_t *) &simpleBLEBondCB );
        return ( events ^ START_DEVICE_EVT );
    }

这是第一步,你的从机可以连接了,但是数据发送部分,需要UUID编号去发送

下面代码是数据发送部分

bStatus_t BleSendData(uint8 * data,uint8 len)
{		
					
				if(simpleBLEState == BLE_STATE_CONNECTED)
				{	
					
								if(simpleBLEConnHandle != GAP_CONNHANDLE_INIT)
								{
									attWriteReq_t *pReq;
									attReadReq_t *pReqread; 
									pReq = osal_mem_alloc(sizeof(attWriteReq_t));
									pReq->sig = 0;
									pReq->cmd = TRUE;
									pReq->handle = 0x21;
									pReq->len = len;
									osal_memcpy(pReq->value, data,len);
									bStatus_t status = GATT_WriteNoRsp(simpleBLEConnHandle, pReq);
									osal_mem_free(pReq);
				}
			}
}

这个 pReq->handle = 0x21 是从UUID 扫描中获取到的,这个如果不对数据就无法发送。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值