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:在单个 TI-RTOS 任务应用程序中不使用消息队列

Guru**** 2582405 points


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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/594318/launchxl-cc2640r2-not-using-message-queuing-in-a-single-ti-rtos-task-application

器件型号:LAUNCHXL-CC2640R2

您好!

  我想知道在单个 TI-RTOS 任务应用程序中不使用消息队列会产生什么影响。 例如 sensortag_io.c. 当发生特征更改时、它将调用下面的回调函数。

静态空 ioChangeCB (uint8_t paramID)
{
/*唤醒应用程序线程*/
SensorTag_charValueChangeCB (service_ID_IO、paramID);
} 

SensorTag_charValueChangeCB()将对消息进行队列处理,然后主 TI-RTOS 任务将处理应用消息,该应用消息将在 sensortag_io.c 中调用 SensorTagIO_processChangeEvt (uint8_t paramID)

如果我在 ChangeioCB()中调用 void SensorTagIO_processCharChangeEvt (uint8_t paramID)(如下所示)该怎么办? 这样我就没有使用消息队列。 如果我不在单个 TI-RTOS 任务应用程序中使用消息队列、是否有问题?

静态空 ioChangeCB (uint8_t paramID)
{
/*唤醒应用程序线程*/
SensorTagIO_processCharChangeEvt (paramID);
} 

-克尔

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

    回调在不同的(在本例中为较高优先级)上下文中运行、因此您可能会导致协议栈出现实时问题。 请参阅软件开发人员指南中有关回调用法的警告。

    祝你一切顺利