微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI蓝牙设计交流 > 蓝牙读特征值问题

蓝牙读特征值问题

时间:10-02 整理:3721RD 点击:

我买的蓝牙转串口模块是peripheral设备,我有个开发板里面有个串口透传例程,用开发板的SimpleBLECentral例程 能和我的模块连接,(买的模块)peripheral设备能给开发板(cc2540 central设备)发数据,开发板能收到数据,开发板发数据,(买的模块)peripheral设备收不到数据。

模块用lightblue搜索的结果如图,

我在主机例程中是不是要获得0xfff2的simpleBLECharHdl 

主机程序simpleBLECentral.c  这个文件下的函数

static void simpleBLEGATTDiscoveryEvent( gattMsgEvent_t *pMsg )

{

 .

.

.

req.type.uuid[0] = LO_UINT16(SIMPLEPROFILE_CHAR2_UUID);

        req.type.uuid[1] = HI_UINT16(SIMPLEPROFILE_CHAR2_UUID);

 

        GATT_ReadUsingCharUUID( simpleBLEConnHandle, &req, simpleBLETaskId );

      }

    }

  }

  else if ( simpleBLEDiscState == BLE_DISC_STATE_CHAR )

  {

    // Characteristic found, store handle

    if ( pMsg->method == ATT_READ_BY_TYPE_RSP || //这里以前是&&

         pMsg->msg.readByTypeRsp.numPairs > 0 )

    {

      simpleBLECharHdl = BUILD_UINT16( pMsg->msg.readByTypeRsp.dataList[0],

                                       pMsg->msg.readByTypeRsp.dataList[1] );

 

发送数据函数

len = length;

         attWriteReq_t req;

         req.handle = simpleBLECharHdl;

         req.len = len;

    req.sig = 0;//必须要填

    req.cmd = 0;//必须要填

         osal_memcpy(req.value,pBuffer,len);

         status = GATT_WriteCharValue( simpleBLEConnHandle, &req, simpleBLETaskId );

simpleBLEConnHandle 这个是什么  发送数据提示 write error 1 ,我想只有simpleBLECharHdl 或者simpleBLEConnHandle 错误才导致发送错误

     

    

 可以加 秋秋420253108  有重谢。(你懂得)

hongshuai,

simpleBLEConnHandle  是指connection handle。 如果你只有一个BLE连接,那么这个值通常是0。

write error 1 表示invalid handle, 是指你的characteristic 的handle没有正确获取到。请往这个方向考虑。

就是句柄值不正确! 谢谢yan

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top