定时器 rt_timer_init 里超时时间无效

发布于 2020-11-17 15:12:02

rtconfig里宏定义 #define RT_TICK_PER_SECOND 1000
然后在定时器初始化里,

    /* 初始化定时器 */
    rt_timer_init(&rf_timer_group[ACK_ACITON], 
                   "timer_ack_action",  /* 定时器名字是 timer_ack_action */
                    rf_timer_group_callback, /* 超时时回调的处理函数 */
                    (void *)0, /* 超时函数的入口参数 */
                    1000, /* 定时长度,以 OS Tick 为单位,即 1000 个 OS Tick */
                    RT_TIMER_FLAG_ONE_SHOT); /* once 定时器 */

定时长度以tick 为单位,
是不是说如果要3s超时的话就写3000 os tick?

当前问题是:
我本地测试发现写入的值超过1000 就永远进不了回调,如果小于1000的话,不管是100还是300,500 始终是100ms进回调,怎么排查?

查看更多

关注者
0
被浏览
345
1 个回答
yangjie
yangjie 2020-11-18

是的,以ostick为单位的
你用的是nano吗?如果是nano就需要检查系统定时器的实现是否正常

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友

手机
浏览

扫码手机浏览