⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 testevent.c

📁 RTOS -REWORKS ReWorks里一个有关事件的例子。
💻 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 + -