请问如何打开从机的notify

我想要实现的功能是两块CH579  一主一从实现通信(传输大概30多字节  频率不高 )

我当前使用了 CentPeri 例程作为主机,Peripheral例程作为从机.

目前知道主机发送数据给从机使用


主机的代码:

 attWriteReq_t req;  
req.cmd = FALSE;
req.sig = FALSE;
req.handle = centralCharHdl;
req.len = SIMPLEPROFILE_CHAR1_LEN;
req.pValue = GATT_bm_alloc(centralConnHandle,ATT_WRITE_REQ,req.len,NULL,0);
if ( req.pValue != NULL )
{      
    tmos_memcpy(req.pValue,send_buf,SIMPLEPROFILE_CHAR1_LEN);
    if( GATT_WriteCharValue(centralConnHandle,&req,centralTaskId) != SUCCESS )
    {      
            GATT_bm_free((gattMsg_t *)&req, ATT_WRITE_REQ);
            PRINT("GATT_WriteCharValue error \r\n");
     }
}

 而从机主动发送数据给主机要使用notify的形式发送,而且是主机去开启从机这个功能,但是这方面的我并不了解,希望能够指点一下




下面是主机上我想要开启从机notify功能的代码(但是不能实现效果)

主机的代码:

attWriteReq_t req;
        
req.cmd = 0;
req.sig = 0;
req.handle = GATT_CLIENT_CHAR_CFG_UUID;
req.len = 2;

req.pValue = GATT_bm_alloc(centralConnHandle,ATT_WRITE_REQ,req.len,NULL,0);
if ( req.pValue != NULL )
{
  req.pValue[0] = 1;
  req.pValue[1] = 0;  
    
  if( GATT_WriteCharValue(centralConnHandle,&req,centralTaskId) == SUCCESS )
  {     
        printf("\r\nenable notify\r\n");
  }
  else
  {
    GATT_bm_free((gattMsg_t *)&req, ATT_WRITE_REQ);
}


希望有懂的人指点一下,十分感谢

参考例程已发你邮箱


你好,请问这个参考例程还有吗?可以发到个人信息保护,已隐藏吗?谢谢


您好,参考博客:CH573 CH582 CH579蓝牙从机(peripheral)例程讲解五(蓝牙从机使能通知) - WCH蓝牙应用分享 - 博客园 (cnblogs.com)

image.png


只有登录才能回复,可以选择微信账号登录