使用UC/OS-II创建任务出错

在基于STM32F107VC的开发中,结合keil4.6、UC/OS-II和LWIP进行系统开发时遇到问题。在尝试创建任务时,发现在OSTaskCreate函数调用后任务未正确创建。通过单步调试发现,当执行到第232行的OSIntNesting条件判断时,由于中断嵌套导致任务创建失败,初步判断是系统时钟中断配置引起的问题。
摘要由CSDN通过智能技术生成

开发环境STM32F107VC+keil4.6+UC/OS-II+LWIP

在硬件调试过程中发现程序到了OSTaskCreate这一行后没有正确的创建任务。

<pre name="code" class="html">OSTaskCreate(start_task,(void *)0,(OS_STK *)&START_TASK_STK[START_STK_SIZE-1],START_TASK_PRIO );//
	OSStart();	


 

单步调试,原来是

 OS_ENTER_CRITICAL();
    if (OSIntNesting > 0u) {                 /* Make sure we don't create the task from within an ISR  */
        OS_EXIT_CRITICAL();
        return (OS_ERR_TASK_CREATE_ISR);
    }
    if (OSTCBPrioTbl[prio] == (OS_TCB *)0) { /* Make sure task doesn't already exist at this priority  *
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值