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.

[参考译文] CCS/processor-SDK-OMAPL137:创建两个具有相同优先级的任务,并每5毫秒同时运行一次这些任务

Guru**** 2595800 points


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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/620878/ccs-processor-sdk-omapl137-create-two-tasks-with-same-priority-and-run-those-tasks-for-every-5msec-concurrently

部件号:processor-SDK-OMAPL137

工具/软件:Code Composer Studio

我想创建两个任务,例如任务1和任务2,具有相同的优先级和
这些任务(Task1和task2)必须每5毫秒同时运行一次。 如果Task1为
运行task2必须等待Task1结束。
我使用了以下API Task_create和Clock_create来使其工作。
如果两者具有相同的优先级并每5毫秒运行这些任务,是否有更好的示例?

谢谢!

Gangadhar

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您可以添加每5毫秒运行一次的时钟功能。 它将发布两次信号。 然后,将每个任务调用semaphore_pend放在其处理循环顶部的同一信号库上。 正确,一个任务将先于另一个任务运行,但不能同时有两个任务处于活动状态。

    每个任务将运行多长时间? 您是否想要时间分段? 默认情况下,TI-RTOS内核是优先的。 《SYS/BIOS用户指南》中有一节对此进行了详细说明。

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

    Todd,您好!

    感谢您的回复。 我想运行每个任务(Task1和task2) 5毫秒,在满足某些条件后,将Task1更改为运行10毫秒或更短,并且不更改task2时间意味着它始终在5毫秒运行。 因此,请根据条件继续更改Task1时间。

    目前,我已使用OMAPL137的时间片和事件示例开发了我的示例。

    此外,还可以在使用Clock_create API以及Clock_setPeriod API创建时钟处理程序时设置分段时间段。

    谢谢!

    Gangadhar

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

    你好,Gangadhar,

    听起来您需要两个信号灯和两个时钟功能,以使它们处于不同的速率。 所有时钟功能都必须是时钟周期的倍数(默认为1毫秒)。 因此,5ms和10ms都很好。 除非您将时钟周期更改为其中的一个因子(例如 500US)。 注意:您会得到每个时钟周期的中断,因此您不想将其设置得太低(否则,您将有太多的中断需要处理)。

    注意对于低功耗MCU器件,我们提供了tick抑制和其他技巧,以最小化中断的数量。 如果有人查看此线程但正在使用其中一种设备,我会添加此评论。

    托德

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

    Todd,您好!

    感谢您的建议。我可以使用两个信号灯和两个时钟功能以不同的速率创建和运行两个任务。 我不想将时钟周期设置为微秒,将始终仅使用毫秒的分值。

    我还有一个要求,比如我们可以通过 使用scanf从键盘传递值来更改Task1在运行时的速率, Clock_setPeriod API可以使用该值来更改Task1的速率。 我尝试使用scanf,但它不起作用。 请告诉我,我们可以通过其他方式传递价值并更改其运行时间。

    谢谢!

    Gangadhar

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

    是否可以启动有关扫描工作的新线程? 我们尝试使线程保持较短,以便于搜索和阅读。

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

    我已针对scanf问题创建了另一个线程 。e2e.ti.com/.../62.1917万