计时器
计时器是一个使用内核的系统时钟来测量时间流逝的内核对象。当达到计时器的指定的时间限制时,它可以执行应用程序定义的操作,或者它可以简单地记录过期并等待应用程序读取其状态。
概念
- 可以定义任意数量的计时器(仅受可用RAM的限制)。每个计时器都由其内存地址引用。
- 计时器具有以下键属性:
- 指定计时器第一次到期之前的时间间隔的持续时间。这是一个可以通过不同的单元进行初始化的k_timeout_t值。
- 指定第一个计时器之后所有计时器到期之间的时间间隔的周期,也是k_timeout_t。它必须是非负的。周期K_NO_WAIT(即零)或K_FOREVER意味着计时器是一个一次性计时器,在一次过期后停止。(例如,如果一个计时器启动的持续时间为200,周期为75,那么它将首先在200 ms之后过期,然后在那之后每75 ms过期一次。)
- 每次定时器过期时执行的过期函数。该函数由系统时钟中断处理程序执行。如果不需要过期函数,则可以指定NULL函数。
- 当计时器在运行时过早停止时所执行的一种停止函数。该函数由停止计时器的线程执行。如果不需要停止函数,则可以指定空函数。
- 状态值,指示自上次读取状态值以来计时器过期的次数。
计时器必须初始化才能使用。这将指定其到期函数和停止函数值,将计时器的状态设置为零ÿ