链接参数的设定?
请各位工程师指导一下,我想设置链接参数,但是源码(
/*
* 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工程来理解清楚,里边有任务号的数组表,规定了任务回调函数指针。