美文网首页
2020-02-04

2020-02-04

作者: 等一个人咖啡_2c04 | 来源:发表于2020-02-05 15:32 被阅读0次

    ESP8266开发硬件定时器(比软件定时器更精确)

    • 如果使⽤用 NMI 中断源,且为⾃自动填装的定时器,调⽤用 hw_timer_arm 时参数 val 必须⼤大于 100

    如果使⽤用 NMI 中断源,那么该定时器将为最⾼高优先级,可打断其他 ISR

    如果使⽤用 FRC1 中断源,那么该定时器⽆无法打断其他 ISR

    hw_timer.c 的接⼝口不能跟 PWM 驱动接⼝口函数同时使⽤用,因为⼆二者共⽤用了同⼀一个硬件定时器

    初始化硬件 ISR 定时器
     hw_timer_init(FRC1_SOURCE,1)

    FRC1_SOURCE, 使⽤用 FRC1 中断源

    NMI_SOURCE, 使⽤用 NMI 中断源

    0, 不⾃自动填装

    1, ⾃自动填装

    设置定时器回调函数。使用定时器,必须设置回调函数。

    hw_timer_set_func (test_kee )

    void test_kee (void)   //回调函数

    {

    os_printf("重复打印\r\n")    //串口打印   重复打印


    }

    使能硬件中断定时器

    hw_timer_arm(500*100)

    总结一下定时的范围:软件定时器定时范围:

    如未调⽤用 system_timer_reinit,最⼤大可输⼊16777215毫秒

    如调⽤用了 system_timer_reinit,最⼤大可输⼊入 235540毫秒

    微秒定时器:

    定时时间,单位:微秒,最⼩小定时 0x64 ,最⼤大可输⼊入 0xFFFFFFF


    硬件定时器范围:

    ⾃自动填装模式:

    使⽤用 FRC1 中断源(FRC1_SOURCE),取值范围 : 50 ~ 0x7fffff;  单位微秒

    使⽤用 NMI 中断源(NMI_SOURCE),取值范围 : 100 ~ 0x7fffff;

    ⾮非⾃自动填装模式,取值范围 : 10 ~ 0x7fffff;

    最多定时1677毫秒

    相关文章

      网友评论

          本文标题:2020-02-04

          本文链接:https://www.haomeiwen.com/subject/wbfdxhtx.html