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.

LAUNCHXL-CC26X2R1: SDK :simple_central 工程中有些代码困惑

Part Number: LAUNCHXL-CC26X2R1

在使用ICALL的过程中有几点困惑,望答疑!

1、使用该函数(ICall_registerApp(&selfEntity, &syncEvent);)注册的线程,指的是调用该函数的当前任务吗?另外传入该函数的两个参数的作用?

2、有关注册回调(VOID GAPBondMgr_Register(&bondMgrCBs);)该函数是将回调函数传入到ICALL中间件还是BLE STACK?

3、APP处理的两种事件(SC_ICALL_EVT  |  SC_QUEUE_EVT)可以理解为一个由APP Task Post,另一个由Stack Task  Post吗?

  • 您好,

    iCall用于将应用程序和协议栈隔离开来,通过iCall,应用程序可以请求协议栈执行任务。

    1.ICall_registerApp(&selfEntity, &syncEvent);并不是指代当前任务;它的作用是注册一个应用程序实体(selfEntity)和同步事件(syncEvent)。通常,它的作用是告诉协议栈关于应用程序的信息以及事件处理方面的配置。

    2. GAPBondMgr_Register(&bondMgrCBs);这个函数的具体作用是根据传递进去的回调函数来进行注册,但具体将回调函数传入到ICALL中间件还是BLE STACK,取决于GAPBondMgr_Register函数的实现和设计。

    3.关于两种事件(SC_ICALL_EVT  |  SC_QUEUE_EVT),SC_ICALL_EVT可能是由iCall中间的(iCall Task)任务相关处理程序处理,而SC_QUEUE_EVT可能是由APP Task 或者BLE Stack Task 处理。

    具体使用方法参考TI官方提供的API文档,ICallGAPBondMgr