打印

UCOS-II 多任务,三个LED同时闪烁卡死

[复制链接]
473|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
石头张|  楼主 | 2020-4-25 09:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在UCOS-II多任务实验中,两个LED闪烁任务运行没问题,当三个LED闪烁任务同时运行时,程序就卡死在void HardFault_Handler(void)
了,请教大神,有人知道是什么问题吗?
*************************************************************************
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;
}

**********************************************************************
void Task_Start(void *p_arg)
{
        (void)p_arg;
        
        OSTaskCreate(Task_LED1,(void *)0,
                           &task_led1_stk[TASK_LED1_STK_SIZE-1],
                     TASK_LED1_PRIO);

        OSTaskCreate(Task_LED2,(void *)0,
                           &task_led2_stk[TASK_LED2_STK_SIZE-1],
                     TASK_LED2_PRIO);

        OSTaskCreate(Task_LED3,(void *)0,
                           &task_led2_stk[TASK_LED3_STK_SIZE-1],
                     TASK_LED3_PRIO);

        while(1)
        {
                OSTimeDlyHMSM(0,0,0,50);
        }
}

void Task_LED1(void *p_arg)
{
        (void)p_arg;
        
        while(1)
        {
                LED1(ON);
                OSTimeDlyHMSM(0,0,0,100);
                LED1(OFF);
                OSTimeDlyHMSM(0,0,0,100);
        }
}

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);
        }
}

void Task_LED3(void *p_arg)
{
        (void)p_arg;
        
        while(1)
        {
                LED3(ON);
                OSTimeDlyHMSM(0,0,0,300);
                LED3(OFF);
                OSTimeDlyHMSM(0,0,0,300);
        }
}

**************************************************************************
#ifndef __APP_CFG_H__
#define __APP_CFG_H__

#define STARTUP_TASK_PRIO       4
#define TASK_LED1_PRIO          5
#define TASK_LED2_PRIO          6
#define TASK_LED3_PRIO          7

#define STARTUP_TASK_STK_SIZE   80
#define TASK_LED1_STK_SIZE      80
#define TASK_LED2_STK_SIZE      80
#define TASK_LED3_STK_SIZE      80

#endif

使用特权

评论回复

相关帖子

沙发
你瞅啥| | 2020-4-25 18:33 | 只看该作者
STK_SIZE too small

使用特权

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

本版积分规则

446

主题

446

帖子

0

粉丝