打印
[uCOS/RTOS]

移植ucos-ii到MDK的LED任务问题

[复制链接]
1039|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
沙发
SomeOnething|  楼主 | 2017-7-27 15:53 | 只看该作者
有人知道什么原因吗,假如我裸机跑程序那么我在while里闪烁LED,中途是不会有停止的,ucos-ii里只有3个任务,一个空闲任务,一个LED1闪烁任务,一个LED2闪烁任务,优先级都比空闲任务高,那么那一段没有LED闪烁的时间里CPU在干什么

使用特权

评论回复
板凳
SomeOnething|  楼主 | 2017-7-27 16:41 | 只看该作者
main.c:

#include "includes.h"

static OS_STK startup_task_stk[STARTUP_TASK_STK_SIZE];   

int main(void)
{
           BSP_Init();
     OSInit();
     OSTaskCreate(Task_Start,(void *)0,&startup_task_stk[STARTUP_TASK_STK_SIZE-1],STARTUP_TASK_PRIO);
     OSStart();
     return 0;
}


app.c:

#include "includes.h"

OS_STK task_led2_stk[TASK_LED2_STK_SIZE];  //¶¨ÒåÕ»

void Task_Start(void *p_arg)
{
  (void)p_arg;   
  OSTaskCreate(Task_LED2,(void *)0,&task_led2_stk[TASK_LED2_STK_SIZE-1], TASK_LED2_PRIO);
  while(1)
  {
    LED1(ON);
    OSTimeDlyHMSM(0, 0,0,150);
    LED1(OFF);
    OSTimeDlyHMSM(0, 0,0,150);
  }
}

void Task_LED2(void *p_arg)
{
  (void)p_arg;
  while (1)
  {
    LED2(ON);
    OSTimeDlyHMSM(0, 0,0,200);
    LED2(OFF);
    OSTimeDlyHMSM(0, 0,0,200);
  }
}  

app.h:

#define STARTUP_TASK_PRIO 5
#define TASK_LED2_PRIO 6

#define STARTUP_TASK_STK_SIZE 80
#define TASK_LED2_STK_SIZE 80

使用特权

评论回复
地板
SomeOnething|  楼主 | 2017-7-27 17:15 | 只看该作者
找到原因了,板子上加有复位电路,自动复位了

使用特权

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

本版积分规则

1

主题

4

帖子

0

粉丝