RL-RTX os_dly_wait()延时不准的问题

        最近在LPC1788上使用RL-RTX遇到一例os_dly_wait()延时不准的问题,延时的时间比预想的差了十倍。

        systick设置了每tick为10ms,调用os_dly_wait(2)后发现task执行时候没有按预想的20ms延时,而是2ms。怀疑时钟问题,但也不可能差那么多,测试了timer0,timer1都是正常的。

        研究了好久最后发现是RTX的配置文件(RTX_Conf_CM.c)造成的,以前把这个文件放到了工程下而不是引用Keil MDK安装目录(C:\Keil\ARM\RL\RTX\Config)下的,后来MDK从v4.2一路升级到了v4.7了,这个文件没跟着更新。旧版的配置文件相对新版少了Hardware timer的选项导致出错

      

     选择Hardware timer,频率同CCLK(120MHz),每tick 10ms






    总结:针对类似问题,先确保RTX配置文件版本正确,然后选择RTX使用的Timer,根据时钟配置设置好相应的频率。如果还是有误差则要检查Clock相关配置(PLL0/1,分频系数等)。如果还是不行,则要从硬件(晶振)方面查了。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值