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

📄 test.c

📁 ucOSII在kit-conC167评估板上的移植。
💻 C
字号:
/*
*********************************************************************************************************
*                                                uC/OS-II
*                                          The Real-Time Kernel
*
*                        (c) Copyright 1992-1998, Jean J. Labrosse, Plantation, FL
*                                           All Rights Reserved
*
*                                                 V2.00
*
*                                               EXAMPLE #1
*					by Karl Wannenmacher
*						Nov 2000
*********************************************************************************************************
*/



#include "includes.h"


//Constants
#define  TASK_STK_SIZE                 512       // Size of each task's stacks (# of WORDs) = 1KBytes  
#define  N_TASKS                       2         // Number of identical tasks                          



//Global Data
OS_STK           TaskStk[N_TASKS][TASK_STK_SIZE];     // Tasks stacks                                  
OS_EVENT        *pReceiverMailBox;
OS_EVENT        *pSenderMailBox;


//Function Prototypes
void   ReceiverTask(void *data);                       
void   SenderTask(void *data);                         


/*$PAGE*/


//Main
void main (void)
{
    DP2 = 0xffff;
    OSInit();                                              
    pReceiverMailBox = OSMboxCreate((void*)0);
    pSenderMailBox = OSMboxCreate((void*)0);
    OSTaskCreate(ReceiverTask, (void *)0, (void *)&TaskStk[0][TASK_STK_SIZE - 1], 3);
    OSTaskCreate(SenderTask, (void *)0, (void *)&TaskStk[1][TASK_STK_SIZE - 1], 4);
    OSStart();     
    
    
                                    
}


//Tasks
void SenderTask (void *data)
{
    INT8U count = 0;
    INT8U error;
    data = data;
    	    
    
    
    while (1)
    {
	for (count=0;count<10;count++)
	{
	    OSMboxPost(pSenderMailBox, (void*)&count);
	    OSMboxPend(pReceiverMailBox, 0, &error);
	}
    }

}
	

void ReceiverTask (void *data)
{
    
    INT8U *count;
    INT8U error;
    data = data;
    OSTickISRInit();
    
            
    while (1)
    {			   
    	count = (INT8U*)OSMboxPend(pSenderMailBox, 0, &error);
	P2 = *count;
	OSTimeDlyHMSM(0, 0, 5, 0);  
        OSMboxPost(pReceiverMailBox, (void*)1);
    	
       
    }
}

       		
   
	   

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -