在u cos系统中,OSTimeDly和***pend都对任务有状态改变的作用,那么这两个函数到底有什么不同呢?
例程分析:
static void App_TaskStart(void* p_arg)//优先级为2
{
static st t;
INT8U error;
(void) p_arg;
OS_CPU_SysTickInit(); /* Initialize the SysTick. */
for(;;)
{
OSQPend(com1,0,&error);
LED_LED1_ON();
}
static void task1(void* p_arg) //优先级为3
{
static st t;
t.a=2;
// INT8U error;
(void) p_arg;
for(;;)
{
OSQPost(com1,&t);
OSQPost(com1,&mail); //发送到队列
OSTimeDlyHMSM(0,0,1,0);
}
static void task2(void* p_arg)//优先级为4
{
INT8U error;
(void) p_arg;
for(;;)
{OSQPend(com1,0,&error);