打印

uC/OS中添加了个任务问什么还得添加延时啊

[复制链接]
1430|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
haitianhappy|  楼主 | 2012-7-24 16:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
就是中断接收到了数据之后解析 的任务 还得再加一句
OSTimeDlyHMSM(0,0,1,0);

void Task_LED3(void *p_arg)
{
(void)p_arg;
SysTick_init();
while (1)
{
  OSTimeDlyHMSM(0,0,1,0);
     hand_data(UART1_com);
}
}
沙发
zxm19820916| | 2013-12-11 12:02 | 只看该作者
是啊,为什么啊?
我们的工程首先main函数里创建了一个优先级为0的任务TaskStart(),
然后在TaskStart中创建了其他10个任务(优先级都大于0),然后还有这几行代码是做什么用的?
if (OSTaskSuspend(OS_PRIO_SELF) != OS_NO_ERR)
{
        Uart_Printf("Suspend self task Error!\n");
}

while (1)
{
        OSCtxSwCtr = 0;
        OSTimeDlyHMSM(0,0,60,0);      // wait 1m
}

使用特权

评论回复
板凳
prayerwind| | 2013-12-11 13:36 | 只看该作者
你可以读一下基本的RTOS概念,
1.抢占式内核;
2.调度方式(静态 & 动态)

如果一个高优先级的任务一直运行,那么CPU一直被它占用,其它任务怎么办?

使用特权

评论回复
地板
Nick_Qiu| | 2013-12-11 14:47 | 只看该作者
延迟意义在于让出CPU的控制权限,给其他任务执行!

使用特权

评论回复
5
5186| | 2013-12-11 14:48 | 只看该作者
是这么个理

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

15

主题

131

帖子

0

粉丝