请选择 进入手机版 | 继续访问电脑版

安富莱电子论坛

 找回密码
 立即注册

扫一扫,访问微社区

查看: 74|回复: 2
收起左侧

[RL-RTX] os_itv_set绝对延时函数的疑问

[复制链接]

16

主题

30

帖子

62

积分

初级会员

积分
62
发表于 2019-2-20 20:19:36 | 显示全部楼层 |阅读模式
eric大神:
  我写的程序中RTX任务中使用os_itv_set设置延时1s,使用os_itv_wait绝对延时函数,  通过keil的线程调试窗口,个别时候会出现在调用os_itv_set的这个函数等待很久(大概30s),相当于这段时间这个任务一直被阻塞了,非常奇怪,换成os_dly_wait就好了,不会出现这个问题,但是os_dly_wait不能实现准确的周期延时,我想问,假设在别的高优先级的RTX任务占用CPU时间过长(调度锁 互斥量等原因 ),超过了os_itv_set设定的延时时间,是不是就会出现这种情况
回复

使用道具 举报

5391

主题

3万

帖子

4万

积分

管理员

做人第一,工作第二

Rank: 9Rank: 9Rank: 9

积分
43672
QQ
发表于 2019-2-21 00:43:17 | 显示全部楼层
别用调试组件,直接在此任务里面加个IO翻转,示波器看。
淘宝小店: https://armfly.taobao.com/
专注,努力,用心的做好每一件事情,Fighting!
回复

使用道具 举报

3

主题

407

帖子

413

积分

版主

Rank: 7Rank: 7Rank: 7

积分
413
发表于 2019-2-21 15:23:24 | 显示全部楼层
这很正常啊,就算os_itv_wait等待结束了,其他任务优先级高还是会出现这种问题的。不过你的问题很奇怪,os_dly_wait就没有问题了,os_itv_set性能再不济他也只是一个dly,它的实现很简单,和os_dly_wait意义基本一样
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|安富莱电子论坛 ( 鄂ICP备09023347号,公安机关备案号42010602000201 )

GMT+8, 2019-3-19 23:10 , Processed in 0.163297 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表