📄 testevent.c
字号:
#include "eventTest.h"
/* add application specific code here */
static int Event_Task_Receive_1(
void * argument
)
{
unsigned32 eventout;
os_tod time;
OS_STATUS status;
OSTaskDelay( 1*TICKS_PER_SECOND );
printf( "TA1 - OSEventSend - send OS_EVENT_1 and OS_EVENT_3 to TA2\n" );
status = OSEventSend( Event_Task_id[ 2 ], OS_EVENT_1|OS_EVENT_3 );
return 1;
}
static int Event_Task_Receive_2(
void* argument
)
{
unsigned32 eventout;
os_tod time;
OS_STATUS status;
status = OSTaskDelay( 2*TICKS_PER_SECOND );
printf( "TA2 - OSEventReceive - waiting forever on OS_EVENT_1\n" );
status = OSEventReceive(
OS_EVENT_1,
OS_WAIT |OS_EVENT_ALL,
OS_NO_TIMEOUT,
&eventout
);
if ( status == OS_OK )
{
printf("TA2 [OSEventReceive receive OS_EVENT_1 from TA1 success ]\n");
}
else
{
printf("OSEventReceive error:[%s]\n",serrno(errno));
}
printf( "TA2 - OS_EVENT_1 received.\n");
return 1;
}
void testEvent(){
OS_STATUS status;
printf("*** test of Event ***\n");
status = OSTaskCreate("TA1", Event_Task_1_Pri,4096,OS_PREEMPT,OS_DEFAULT,&Event_Task_id[ 1 ] );
status = OSTaskCreate("TA2", Event_Task_2_Pri,4096,OS_PREEMPT,OS_DEFAULT,&Event_Task_id[ 2 ] );
status = OSTaskStart( Event_Task_id[ 1 ], Event_Task_Receive_1, 0);
status = OSTaskStart( Event_Task_id[ 2 ], Event_Task_Receive_2, 0);
OSTaskDelay( 5*TICKS_PER_SECOND );
OSTaskDelete(Event_Task_id[ 1 ]);
OSTaskDelete(Event_Task_id[ 2 ]);
printf("*** Event test OK! ***\n");
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -