打印
[uCOS/RTOS]

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

[复制链接]
960|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
求教移植ucos-ii+LED到MDK烧写到STM32F103之后,程序LED闪烁每隔一段时间会停止,间隔一段时间后再次闪烁,为什么?这一段空窗期系统在干什么,我也没有设置任务时间啊

IMG_0405.JPG (271.83 KB )

IMG_0405.JPG

IMG_0402.JPG (189.6 KB )

IMG_0402.JPG

IMG_0401.JPG (293.06 KB )

IMG_0401.JPG

相关帖子

沙发
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

粉丝