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.

[参考译文] TMDX570LC43HDK:在 TMDX570LC43HDK 上使用 FreeRTOS 来触发任务的可变延迟

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/638209/tmdx570lc43hdk-variable-delay-triggering-of-a-task-with-freertos-on-tmdx570lc43hdk

器件型号:TMDX570LC43HDK

HY、

在基于 FreeRTOS 的应用程序中、我接收到来自 EMAC 的消息、

有效载荷包含一个整数、以 ms 为单位、

如果有效载荷为5、则意味着我必须在5ms 后执行某项操作、

相反、如果有效载荷为10、则意味着我必须在10ms 后执行某些操作、等等、

我的问题是、在 TMDX570LC43HDK 上使用 FreeRTOS 实现此任务变量触发的最佳方法?

谢谢

Antonio

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

    倒计时列表。 在列表末尾添加值作为新条目。

    有一个1ms 的任务来检查倒计时列表。
    1)。 将列表中的每个值递减1。
    2)。 如果有为零、则执行操作并从列表中删除该项目。

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

    这个想法很好、谢谢、

    对于 TMDX570LC43HDK 上的 FreeRTOS、哪一个最小中断周期?

    例如、我能否每100微秒或更短时间获得一次中断?

    还是我必须考虑多个操作系统节拍?

    如果我可以每100微秒获得一次中断、我可以使用该分辨率作为基础并使用您的方法、

    Antonio

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您可能会看到 vTaskDelay、它将 dwMilliseconds 列为一个单位、但也告诉用户它是系统节拍(这将是一个硬件配置和固件问题、以使节拍持续时间为1ms)。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    安东尼奥

    我想检查一下与 Neil 的讨论是否帮助您找到了所需的解决方案? 如果是、我们可以关闭这个线程吗?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    HY、

    Neil 回答帮助我了解我的 FreeRTOS 的 kwoweledge 不够、

    现在、我认为我们项目的最佳解决方案是软件计时器、但同样这些是系统周期的倍数、

    因此、我将尝试使用低于1ms 的 SysTick 和软件计时器进行测试、看看会发生什么情况、

    感谢你的帮助

    Antonio