文档首页/ LiteOS/ 常见问题/ 软件定时器使用不规范,导致定时器无响应
更新时间:2021-03-18 GMT+08:00
分享

软件定时器使用不规范,导致定时器无响应

原因:

使用LOS_SwtmrCreate创建定时器时,设置了入参定时器ID的初始值,而不管设置的ID号是否已经存在定时器,系统都会为新创建的定时器重新赋予一个合适ID。

后续如果通过设置的ID号使用该定时器,可能会出现两种情况:

  • 该ID并没有对应的定时器,故无法通过该ID号使用定时器。
  • 该ID存在相应的定时器,故通过该ID号使用的定时器并不是实际创建的定时器。

解决方案:

使用LOS_SwtmrCreate创建定时器时,不要指定定时器的ID,LiteOS系统会自动分配可以使用的ID号供定时器使用。

建议与总结:

在使用系统资源时,要明确使用方法,定时器、任务、信号量等都是通过系统提供的创建函数自行分配ID号,不要强占使用特定的ID号,否则会导致一些概率性问题。

相关文档