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.

链接参数的设定??



请各位工程师指导一下,我想设置链接参数,但是源码(

/*

 *  Send L2CAP Connection Parameter Update Request.

 */

extern bStatus_t L2CAP_ConnParamUpdateReq( uint16 connHandle, l2capParamUpdateReq_t *pUpdateReq, uint8 taskId );)中没有说明作用,请大家指导一下,告诉我函数中的commHandle与taskID是什么作用?

谢谢!

  • connHandle是建立连接后获取的连接句柄,主机连接从机时,主机就需要通过这个句柄来识别和操作每个从机,很多的操作都需要通过这个句柄才能完成。

    taskID是在OSAL里面的任务号,OSAL是通过taskID来识别每个任务的,taskID越小,任务的优先级就越高。

  • 一个主机可连接多个从机,并为每个已连接的从机分配不同的connHandle数值,主机是通过connHandle来区分/操作不同的从机的。

    当然,对于从机来说,因为只能有一个主机,所以也只有一个connHandle值。

    正如楼上所述,taskID是一个任务号,这里补充它的作用:

    之所以要输入taskID,是因为更新连接参数完成后,底层可根据这个任务号来通知对应的任务(是否更新成功)。

  • connHandle是建立连接后获取的连接句柄,这是链接后生成的句柄值,这个句柄值和特征值UUID相对应,可以用句柄来进行读写操作。具体可以通过BTOOL工具来验证句柄和UUID的对应关系。

    taskID上楼说的都很全面,通过simplePeripheral工程来理解清楚,里边有任务号的数组表,规定了任务回调函数指针。