问题描述:如下是小弟写的一个ucos_ii的一个Task,小弟想在这个Task中实现LED灯的闪烁
问题求解:如果使用OSTimeDlyHMSM()函数,会造成任务的重新调用OSSched(),于是小弟想使用OSSchedLock();和OSSchedUnlock();来加嵌套锁,可是仍然看不见LED闪烁
请问大神:该如何解???还有其它方式可以实现延时吗(不进入任务调度)???
static void LED1_Task(void *p_arg)
{
INT8U i=0;
p_arg=p_arg;
LED1_Init();
OSSchedLock();
for(i=0;i<10;i++)
{
GPIO_ResetBits(GPIOB,GPIO_Pin_0);
OSTimeDlyHMSM(0,0,1,0);
GPIO_SetBits(GPIOB,GPIO_Pin_0);
OSTimeDlyHMSM(0,0,1,0);
}
OSSchedUnlock();
OSTaskCreateExt(LED2_Task,
(void *)0,
(OS_STK *)&LED2_Task_Stk[LED2_TASK_STK_SIZE-1],
LED2_TASK_PRIO,
LED2_TASK_PRIO,
(OS_STK *)&LED2_Task_Stk[0],
LED2_TASK_STK_SIZE,
(void *)0,
OS_TASK_OPT_STK_CHK|OS_TASK_OPT_STK_CLR);
}
|