Kanzi编程基础 - 定时器

Posted Little蒙的技术博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Kanzi编程基础 - 定时器相关的知识,希望对你有一定的参考价值。

Kanzi虽然发生了比较多的版本更迭,api也发生了很多变化,
但定时器的头文件一直都在一个地方:
#include "user/include/user/ui/message/kzu_message_dispatcher.h"


先看看头文件里的api说明。

这个头文件里定义了定时器timeout回调函数格式:

/** Message callback prototype. */
typedef kzsError (*KzuMessageHandlerFunction)(struct kanzi::MessageArguments* message, void* userData);


注册和反注册定时器的api说明如下:

/** Registers a timer handler.
 * \param messageDispatcher The message dispatcher to use.
 * \param interval timeout in milliseconds in case of a one-shot timer, and the interval in case of a repeating timer.
 * \param mode KZU_TIMER_MESSAGE_MODE_ONCE, KZU_TIMER_MESSAGE_MODE_REPEAT or KZU_TIMER_MESSAGE_MODE_REPEAT_BATCH. KZU_TIMER_MESSAGE_MODE_REPEAT_BATCH is
 *             recommended for a repeating timer because it calls handlerFunction only once when the interval has been exceeded several times over.
 * \param handlerFunction The function to call when the timer expires.
 * \param userData User data pointer passed to handlerFunction.
 */
KANZI_API kzsError kzuMessageDispatcherAddTimerHandler(KzuMessageDispatcher* messageDispatcher, kzUint interval, enum KzuTimerMessageMode mode,
                                                       KzuMessageHandlerFunction handlerFunction, void* userData);
/** Unregisters a timer handler. */
KANZI_API kzsError kzuMessageDispatcherRemoveTimerHandler(KzuMessageDispatcher* messageDispatcher, KzuMessageHandlerFunction handlerFunction, const void* userData);

其中参数KzuMessageDispatcher是消息分发器,interval是定时器的间隔时间,KzuTimerMessageMode是定时器的模式(重复或者仅仅一次),KzuMessageHandlerFunction为上面提到的timeout的回调函数。

 

再来看看具体的使用。

………

…………

待补充。

以上是关于Kanzi编程基础 - 定时器的主要内容,如果未能解决你的问题,请参考以下文章

KANZI-01-安装

网络编程基础--多线程---concurrent.futures 模块---事件Event---信号量Semaphore---定时器Timer---死锁现象 递归锁----线程队列queue(示例代码

卓越HMI开发工具——Kanzi UI助力福特野马和林肯领航员荣获2018“十佳用户体验”

小程序最最最基础编程之计时器使用

js-基础总结3

VSCode自定义代码片段——JS中的面向对象编程