『nodeMCU』软件定时器学习

  1. os_timer_arm
  2. os_timer_disarm
  3. os_timer_setfn
  4. system_timer_reinit
  5. os_timer_arm_us

1. os_timer_arm

功能:
使能毫秒级定时器
函数定义:

void os_timer_arm (
    os_timer_t *ptimer,
    uint32_t milliseconds,
    bool repeat_flag
)

参数:

    os_timer_t *ptimer  //定时器结构
    uint32_t milliseconds //定时时间,单位:毫秒
                          //如未调用 system_timer_reinit,可支持范围 5 ~ 0x68D7A3
                          //如调用了 system_timer_reinit,可支持范围 100 ~ 0x689D0
    bool repeat_flag //定时器是否重复

返回:

2. os_timer_disarm

功能:
取消定时器定时
函数定义:

void os_timer_disarm (os_timer_t *ptimer)

参数:

os_timer_t *ptimer //定时器结构

返回:

3. os_timer_setfn

功能:
设置定时器回调函数。使用定时器,必须设置回调函数。
函数定义:

void os_timer_setfn (
    os_timer_t *ptimer,
    os_timer_func_t *pfunction,
    void *parg
)

参数:

    os_timer_t *ptimer //定时器结构
    os_timer_func_t *pfunction //定时器回调函数
    void *parg //回调函数的参数

返回:

4. system_timer_reinit

功能:
重新初始化定时器,当需要使用微秒级定时器时调用
注意:

  1. 同时定义 USE_US_TIMER;
  2. system_timer_reinit 在程序最开始调用,user_init 的第一句。

函数定义:

void system_timer_reinit ( void )

参数:

返回:

5. os_timer_arm_us

功能:
使能微秒定时器。
注意:

  1. 请定义 USE_US_TIMER,并在 user_init 起始第一句,先调用 system_timer_reinit。
  2. 最高精度为 500 us。

函数定义:

void os_timer_arm_us (
    os_timer_t *ptimer,
    uint32_t microseconds,
    bool repeat_flag
)

参数:

    os_timer_t *ptimer //定时器结构
    uint32_t microseconds //定时时间,单位:微秒,最小定时 0x64 ,最大可输入 0xFFFFFFF
    bool repeat_flag //定时器是否重复

返回:

你可能感兴趣的:(『nodeMCU』软件定时器学习)