This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CC250 indication 发送成功是否?

Other Parts Discussed in Thread: CC2540

在BloodPressure工程中,发送indication 成功是否?

在函数static bStatus_t bloodPressure_WriteAttrCB( uint16 connHandle, gattAttribute_t *pAttr,
                                            uint8 *pValue, uint8 len, uint16 offset )中:

        status = GATTServApp_ProcessCCCWriteReq( connHandle, pAttr, pValue, len,
                                                 offset, GATT_CLIENT_CFG_NOTIFY );
        if ( status == SUCCESS )
        {
          uint16 value = BUILD_UINT16( pValue[0], pValue[1] );

          (*bloodPressureServiceCB)( (value == GATT_CFG_NO_OPERATION)  ?
                                     BLOODPRESSURE_IMEAS_NOTI_DISABLED :
                                     BLOODPRESSURE_IMEAS_NOTI_ENABLED );
        }

status 代表indicaton已经发送成功,还是Value的值代表indication已经发送成功。

  • 以SimpleBLEPeripheral为例

    在CC2540的程序里面 GATT_Indication 调用之后

    在有ACK的时候,程序里面simpleBLEPeripheral_ProcessOSALMsg 这个函数里面的GATT_MSG_EVENT会被触发

    然后在simpleBLEPeripheral_ProcessGattMsg函数里面,

    if(pMsg->method ==ATT_HANDLE_VALUE_CFM) {
     ATT_HandleValueCfm( pMsg->connHandle ); <--- Here confirms the ack supposedly
     sendData(); <--- And here calls sendData function again to send data again.

  • 你好TI工程师

          我查找了一些资料,但是对于这个函数还是有点疑问,

        您在这里的理解是 ACK已经收到,可是我怎么确认ACK搜到呢,如果没有收到,还不是照样执行 SendData

        ATT_HandleValueCfm( pMsg->connHandle );

        

      

       我想问下一 客户端是怎么发送ACK了,我查找了一些资料也是调用了这个函数,所以我有点糊涂了,麻烦指点一下

    主机怎么返回ACK;了

     

         

  • 你好:我公司正在开发一个CC2540的蓝牙模块,你们有简单的驱动电路和底层源码提供吗?急需