搜索
bottom↓
回复: 3

ucos时间调度的问题

[复制链接]

出0入0汤圆

发表于 2011-4-28 14:02:46 | 显示全部楼层 |阅读模式
本人是菜鸟,刚接触UCOS,想请教一下OSTimeDly();函数的用法,
假如:有两个任务:任务1的优先级高于任务2
任务1
void Task1(void *pdata)
{
  pdata = pdata;   // 避免编译警告
  while(1)
  {
    GPIO_SetBits(GPIOF, GPIO_Pin_6);
    OSTimeDly(100);                /* Wait 100 ticks */
    }
}

任务2
void Task2(void *pdata)
{
  pdata = pdata;   // 避免编译警告
  while(1)
  {
    GPIO_ResetBits(GPIOF, GPIO_Pin_6);
    OSTimeDly(80);                /* Wait 80 ticks    */
    }
}

开始执行任务1 当执行到   OSTimeDly(100);  时,将任务挂起,然后每个OSTimeDly进行任务调度,查找当前最高优先级的任务,即任务2,那么当执行到任务2的 OSTimeDly(80);  时,此时任务一的OSTimeDly(100); 和OSTimeDly(80);是否冲突;
请高手指点

阿莫论坛20周年了!感谢大家的支持与爱护!!

如果天空是黑暗的,那就摸黑生存;
如果发出声音是危险的,那就保持沉默;
如果自觉无力发光,那就蜷伏于牆角。
但是,不要习惯了黑暗就为黑暗辩护;
也不要为自己的苟且而得意;
不要嘲讽那些比自己更勇敢的人。
我们可以卑微如尘土,但不可扭曲如蛆虫。

出0入0汤圆

发表于 2011-4-28 14:46:24 | 显示全部楼层
不冲突,当最高级任务也挂起时,就进入空闲任务执行了

出0入0汤圆

 楼主| 发表于 2011-4-28 15:34:34 | 显示全部楼层
回复【楼主位】lixiaoxu2meng
-----------------------------------------------------------------------

啊我想问一下 两个任务同时调用OSTimeDly 不冲突吗

出0入0汤圆

发表于 2011-8-8 21:01:39 | 显示全部楼层
回复【2楼】lixiaoxu2meng
回复【楼主位】lixiaoxu2meng  
-----------------------------------------------------------------------
啊我想问一下 两个任务同时调用ostimedly 不冲突吗
-----------------------------------------------------------------------
看到了就回答一下。任务调用OSTimeDly后被挂起了,不再占用CPU,你说的冲突是说这个函数同时被两个任务调用会不会冲突吧,抛弃以前的那种单片机编程吧,调用OSTimeDly后,延时时间被写入对应任务的任务管理块TCB中,去看看TCB结构,里面会有一个参数来保存延时ticks的。系统定时器中断会对所有任务的延时ticks进行减操作,如任务的ticks减到0并且没有等待其他资源(如信号量,邮箱等就会加入到就绪队列等待被调度器调度)而不是像我们以前的那种裸机的延时(任务自己对某一个变量进行减操作来消耗CPU时间),所以不存在你说的冲突,也即是两个函数同时在运行OSTimeDly函数
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-9-27 07:17

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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