软件定时器

用来执行运行频率较低,且复杂度不是很高的任务。

示例

class BlinkLED{
    BlinkLED() {
        auto led_thread = [](BlinkLED* led) {
            bsp_gpio_write_pin(BSP_GPIO_LED, state);
            state = !state;
        };

        System::Timer::Create(led_thread, this, 1000);
    }

    bool state = false;
};

API

/**
 * @brief 创建定时器
 *
 * @param fn 定时器任务函数
 * @param arg 定时器任务函数参数
 * @param cycle 运行周期(ms)
 */
System::Thread::Create(FunType fun, ArgType arg, uint32_t cycle)