Tuyaos/timer

TuyaOS hardware timer via tkl_timer: init, start, stop, callback. 硬件定时器、tkl_timer、周期回调。

tuya c475949 1.1 KB Updated

File contents

TuyaOS Timer (tkl_timer)

Demo: …/examples/driver_timer/example_driver_timer.c

Pattern

#include "tkl_timer.h"
#include "tkl_output.h"

#define TIMER_ID     0
#define DELAY_TIME   1000  /* unit per demo/platform */

static void timer_cb(void *args)
{
    (void)args;
    tkl_log_output("\r\n------------- Timer Callback --------------\r\n");
    tkl_timer_stop(TIMER_ID);
    tkl_timer_deinit(TIMER_ID);
}

void app_timer_start(void)
{
    TUYA_TIMER_BASE_CFG_T cfg = {
        .mode = TUYA_TIMER_MODE_PERIOD, /* verify enum in demo */
        .cb = timer_cb,
        .args = NULL,
    };
    tkl_timer_init(TIMER_ID, &cfg);
    tkl_timer_start(TIMER_ID, DELAY_TIME);
}

API

Function Role
tkl_timer_init bind callback/mode
tkl_timer_start arm
tkl_timer_stop / tkl_timer_deinit stop/release

Keep callbacks short; defer heavy work to a thread (tal_thread_*).

tuya/tuyaopen-ide-manifests/tree/main/skills/embedded/tuyaos-hardware-vibe-coding/peripheral-drivers/timer commit c475949dcb

Frequently asked questions

npx skillmds@latest add tuya/tuyaos-timer