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

📄 test.c

📁 在ARM2104上成功通过的UCOS_II.rar
💻 C
字号:
/**********************************************************************************************************
*                                                uC/OS-II
*                                          The Real-Time Kernel
*
*                           (c) Copyright 1992-2002, Jean J. Labrosse, Weston, FL
*                                            All Rights Reserved
*
*                                                EXAMPLE #1
**********************************************************************************************************/

//#include "includes.h"         //change by cmj ,includes => config
#include "config.h"

/**********************************************************************************************************
*                                               CONSTANTS
**********************************************************************************************************/

#define  TASK_STK_SIZE                  128      /* Size of each task's stacks (# of WORDs)            */

/********************************************************************************************************
*                                               VARIABLES
*********************************************************************************************************/

OS_STK        TaskStk[TASK_STK_SIZE];        /* Tasks stacks  */
OS_STK        TaskStartStk[TASK_STK_SIZE];	/*这里只有两个任务,每个任务对应一个任务堆栈!*/

/**********************************************************************************************************
*                                  FUNCTION PROTOTYPES(任务函数申明)
**********************************************************************************************************/

void  Task(void *data);                       /* Function prototypes of tasks                  */
void  TaskStart(void *data);                  /* Function prototypes of Startup task           */


/**********************************************************************************************************
*                                                MAIN
**********************************************************************************************************/

//void main (void)          //change bu cmj
int main (void)
{
    OSInit();                                              /* Initialize uC/OS-II                      */
    OSTaskCreate(TaskStart, (void *)0, &TaskStartStk[TASK_STK_SIZE - 1], 0);
    OSStart();                                             /* Start multitasking                       */
}


/**********************************************************************************************************
*                                              STARTUP TASK
**********************************************************************************************************/
void  TaskStart (void *pdata)
{
#if OS_CRITICAL_METHOD == 3                                /* Allocate storage for CPU status register */
    OS_CPU_SR  cpu_sr;
#endif
 
    pdata = pdata;                                         /* Prevent compiler warning                 */
    
    TargetInit();      	//add by cmj//目标板初始化代码,在需要的地方调用	//????为什么这里需要??????
    
 	OSTaskCreate(Task, (void *)0, &TaskStk[TASK_STK_SIZE - 1], 1);
	OSTaskDel(0);		//任务执行完后,可以用OSTaskDel(优先级);来挂起相应的任务!
}


void  Task (void *pdata)
{	
	uint32 LEDCON=0x00002000;
	pdata = pdata;  
	IODIR = LEDCON;
    for (;;) {
		IOSET =LEDCON;
        OSTimeDlyHMSM(0, 0, 0, 100);                         /* Wait one second */
        IOCLR = LEDCON;
        OSTimeDlyHMSM(0, 0, 0, 100);
    }
}

⌨️ 快捷键说明

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