📄 appmain.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 + -