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.

[参考译文] 最大 MQTT 客户端项目中的任务可以具有优先级

Guru**** 2813735 points

Other Parts Discussed in Thread: CC3200SDK, CC3200

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

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/608508/max-priority-can-give-to-task-in-mqtt-client-project

Thread 中讨论的其他器件:CC3200SDKCC3200

您好!

MQTT 客户端项目中的任务可以具有多大的优先级。在 MQTT 客户端示例1中、任务具有2个优先级、1个后台事件具有3个优先级。

OSI 协议栈大小-2048

当我尝试创建 优先级为1或优先级为4的新任务时、它不起作用、但如果我给予优先级与其他任务相同、即2、则它起作用、但只停留在1个任务中(如果我们使用相同的优先级、则2个任务不起作用)。

是否有人可以建议该任务可以优先考虑多少?

谢谢、此致、

Shashank  

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

    只有两个任务才有意义:
    -任务1 <任务2 (如果您有任务1 = 1 <任务2 = 2或任务1 = 3 <任务2 = 7等、则不重要)
    - Task1 > task2 (如果你有 task1=2 > task2=1或者 task1=5 > task2=2、那么这并不重要、等等)
    任务1 =任务2

    但请不要忘记、您还有 SimpleLink 任务。。。 在您的案例中、您有三个任务。

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

    您好、Jan、

    默认情况下、Simplelink 主机具有9个优先级、任务1具有2个优先级、事件默认具有3个优先级。  

    谢谢、此致、
    Shashank

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

    您应该将 SLEEP /OSI_SLEEP()添加到任务之间的切换。

    1月
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Shashank,
    您在此设计中使用的器件或模块是什么?
    ~Leonard
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Leonard、

    我使用的是 CC3200 Launchpad 和 SDK - CC3200SDK_1.3.0。
    项目- MQTT 客户端

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

    您好、Jan、

    我尝试使用 OSI_SLEEP (100);但它卡在同一任务中(相同的结果)。 附件是我 的代码供您参考。

    e2e.ti.com/.../7536.MQTT_5F00_Disconnect_2600_Reconnect.docx

    在此代码中、首先运行 MQTT 客户端任务、1个事件也在后台运行。 在开始运行 MQTT 客户端 Taska 并与服务器连接并通过服务器发送数据时。同时、如果其与代理断开连接、则调用 sl_MqttDisconnect ()函数、其中我设置了一个标志。 设置标志后、它会自动调用2个任务、即 BrokerDisconnect 并尝试与服务器重新连接。 如果再次重新连接、则它只向服务器发送1个数据、并卡在2个任务中、即 BrokerDisconnect 任务。

    谢谢、此致、

    Shashank

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

    您应从开始开发操作系统应用程序。 创建不带网络功能的简单应用并实现 RTOS 的工作方式。 例如、两个任务、其中一些 LED 闪烁等

    尽管我无法查看您的所有代码、但我在 MQTT 客户端任务中看不到任何进程间通信/同步对象。 因此 BrokerDisconnect 逻辑无法正常工作。 您一定要查看 processors.wiki.ti.com/.../Introduction_to_the_TI-RTOS_Kernel_Workshop。

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

    我解决了我更改优先级的问题、我在固件及其工作中所做的位更改很少。

    BR、
    Shashank