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-CC2640R2:简单外设和项目零队列事件?

Guru**** 2553450 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/575525/launchxl-cc2640r2-simple-peripheral-and-project-zero-queue-event

器件型号:LAUNCHXL-CC2640R2

您好!

  简单外设示例程序具有队列事件处理功能。 但是、项目0示例程序没有处理队列事件。 哪一个是正确的实现。 此外、对于简单外设、 SBP_queue_EVT 如何布置到 Event_pend ()中。 因为、我没有看到事件发布 SBP_queue_EVT 的代码。

 SimpleBLEPeripheral_taskFxn ()内的 simple_peripheral.c

//如果 RTOS 队列不为空,则处理应用程序消息。
IF (事件和 SBP_queue_EVT)
{
while (!Queue_empty (appMsgQueue))
{
sbpEvt_t *pMsg =(sbpEvt_t *) Util_dequeueMsg (appMsgQueue);
if (pMsg)
{
//处理消息。
SimpleBLEPeripheral_processAppMsg (pMsg);

//从消息中释放空间。
iCall_free (pMsg);
}
}

 ProjectZero_taskFxn ()中的 project_zero.c。  在 IF 条件中未使用 PRZ_queue_EVT。

//处理从另一个任务或另一个上下文发送的消息。
while (!Queue_empty (hApplicationMsgQ))
{
app_msg_t *pMsg = Queue_dequeue (hApplicationMsgQ);

//处理可能从我们自己发送的应用层消息。
USER_processApplicationMessage (pMsg);

//释放收到的消息。
iCall_free (pMsg);
} 

-克尔

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    对此有任何帮助吗? 我决定是否将 IF 条件置于以下。 两个 CCS 项目都适用于 CC2640R2 Launchpad、因此我不确定该怎么办。 但是、由于 CC2640R2使用事件、因此将 IF 条件放置起来似乎是正确的方法。

    IF (事件和 SBP_queue_EVT)

    -克尔
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    SBP_Queue_EVT 和 PRZ_Queue_EVT 通过 Util_enqueueMsg 函数发布、该函数发布"UTIL_Queue_EVENT_ID"。
    在项目0中、未使用 Util_enqueueMsg、因此您在 task_fxn 中看不到它。

    此外、在 simple_peripheral 项目中、有更多的事件和不同的队列句柄、最终会调用不同的东西。 它不是创建一个用于区分所有这些不同事件(如项目0)的大函数、而是将 task_fxn 中的事件分开。 您可以选择您想要对结构执行的任何操作。

    跟踪代码可能更容易、使其与 Project Zero 的方式相同、但完全由您决定。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Christin:

    我将以 simple_peripheral 的方式执行。 我可以清楚地看到 Util_enqueueMsg 中 UTIL_Queue_event_ID 的事件过帐。 此外、IF 条件与文档中提到的条件相同。

    文件:///C:/ti/simplelink_cc2640r2_sdk_1_00_00_22/docs/blestack/html/tirtos/rtos-overview.html #PENDing-on-an-event

    -克尔