当我直接从基于Cmsis操作系统的应用程序调用Freertos API时,会有任何风险吗?

时间:2019-04-16 02:35:33

标签: freertos

我已经使用STM32Cube工具生成了与cmsis os集成的应用程序。

在我的代码中,如果我使用函数osTimerCreate,则它将成功返回。

但是,如果我调用freertos函数xTimerCreate,它将始终返回失败。

那么问题是它们之间有什么区别?我认为这里没有什么不同。

预先感谢

2 个答案:

答案 0 :(得分:0)

这样做应该没有问题。建议逐步执行调试器中的xTimerCreate()调用,以查看失败的原因。

答案 1 :(得分:0)

解决了!

我通过执行以下操作使之起作用:

  1. 将优化级别从O(3)更改为O(0)
  2. 将变量TimerHandle_t xTimers设置为全局变量(在线程主体之外)。

我实际上不知道为什么,但是很高兴,因为它现在可以工作了:)

如果任何人都可以解释一下,那就太好了。谢谢