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

📄 appmain.c

📁 uCOS-II V2.51在爱普森的32位处理器S1C33209上的移植
💻 C
字号:
#include "includes.h"

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

#define  TASK_STK_SIZE                 256       /* Size of each task's stacks (# of WORDs)            */
#define  N_TASKS                        2       /* Number of identical tasks                          */

/*
*********************************************************************************************************
*                                               VARIABLES
*********************************************************************************************************
*/
OS_STK           TaskStartStk[TASK_STK_SIZE];
OS_STK           TaskStk1[TASK_STK_SIZE];
OS_STK           TaskStk2[TASK_STK_SIZE];


/*
*********************************************************************************************************
*                                           FUNCTION PROTOTYPES
*********************************************************************************************************
*/
void vSingleOn(unsigned char number);
void vSingleOff(unsigned char number);
void vInitHardware( void );
void Task1 (void *data);
void Task2 (void *data);
void TaskStart(void *pd);
/*
*********************************************************************************************************
*                                                MAIN
*********************************************************************************************************
*/

void main (void)
{

    vInitHardware();				  
    OSInit();                                             			 /* Initialize uC/OS-II                      */        
    OSTaskCreate(TaskStart, (void *)0, &TaskStartStk[TASK_STK_SIZE - 1], 5);
    OSStart();                                             /* Start multitasking                       */
}

/***********************************************************************************************
 * vInitHardware
 *   Type :	void
 *   Ret val :	none
 *   Argument :	void
 *   Function :	Hardware initial routine
 ***********************************************************************************************/
void vInitHardware( void )
{	 
	//vInitKey( );
	//vInitRS232( UARTCHANNEL0, 19200 );
	vInitLED( );
	vLEDOff( );
}
/*
*********************************************************************************************************
*                                              STARTUP TASK
*********************************************************************************************************
*/
void TaskStart (void *data)
{
	init_timer160();//启动时钟节拍
	OSTaskCreate(Task1, (void *)0, &TaskStk1[TASK_STK_SIZE - 1], 6);
	OSTaskCreate(Task2, (void *)0, &TaskStk2[TASK_STK_SIZE - 1], 7);
	
	while(1)
		{
			vSingleOn(3)	;
			OSTimeDly(3*OS_TICKS_PER_SEC);
			vSingleOff(3);
			OSTimeDly(3*OS_TICKS_PER_SEC);
		}

	
}

void Task1 (void *data)
{
	while(1)
		{
			vSingleOn(1)	;
			OSTimeDly(OS_TICKS_PER_SEC);
			vSingleOff(1);
			OSTimeDly(OS_TICKS_PER_SEC);
		}
}

void Task2 (void *data)
{
	while(1)
		{
			vSingleOn(2)	;
			OSTimeDly(2*OS_TICKS_PER_SEC);
			vSingleOff(2);
			OSTimeDly(2*OS_TICKS_PER_SEC);
		}
}


⌨️ 快捷键说明

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