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

📄 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"

#define   BEEP      0x00000080      /* P0.7为蜂鸣器控制 */

#define   SPI_IOCON	0x00003DD0		/* SPI接口和LED1、LED2、LED3、LED4等的I/O设置字 */

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

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

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

OS_STK        Task1Stk[TASK_STK_SIZE];        /* Tasks stacks                                  */
OS_STK        TaskStartStk[TASK_STK_SIZE];

/*
*********************************************************************************************************
*                                           FUNCTION PROTOTYPES
*********************************************************************************************************
*/

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


/*$PAGE*/
/*
*********************************************************************************************************
*                                                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)
{

    pdata = pdata;                                         /* Prevent compiler warning                 */

    TargetInit();          

	OSTaskCreate(Task1, (void *)0, &Task1Stk[TASK_STK_SIZE - 1], 1);

    for (;;) {
    
    OSTimeDlyHMSM(0, 0, 1, 0);                         /* Wait one second                          */
    }
}

void  Task1 (void *pdata)
{
    uint8  i; 
    		
    pdata = pdata;

    IOSET = BEEP;
	IODIR = SPI_IOCON;			// 设置SPI控制口为输出
	
	for (;;) 
	   {  for(i=0; i<10; i++)
	      {
	      	 IOSET = 0x00003C00;	
	      	 IOCLR = i<<10;			// 设置LED显示输出		
	         OSTimeDlyHMSM(0,0,0,400);                            /* Delay 1 clock tick     */
	    }
	}
}
	

⌨️ 快捷键说明

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