『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 //定时器是否重复

返回:

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容