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

📄 test.c

📁 在pc机上运行uc/os所需要的文件以及需要的编译环境
💻 C
📖 第 1 页 / 共 2 页
字号:
        case 1:
             PC_DispStr(71, 22, " 8087 FPU", DISP_FGND_YELLOW + DISP_BGND_BLUE);
             break;

        case 2:
             PC_DispStr(71, 22, "80287 FPU", DISP_FGND_YELLOW + DISP_BGND_BLUE);
             break;

        case 3:
             PC_DispStr(71, 22, "80387 FPU", DISP_FGND_YELLOW + DISP_BGND_BLUE);
             break;
    }
}

/*$PAGE*/
/*
*********************************************************************************************************
*                                             CREATE TASKS
*********************************************************************************************************
*/

static  void  TaskStartCreateTasks (void)
{
    OSTaskCreateExt(TaskClk,
                   (void *)0,
                   &TaskClkStk[TASK_STK_SIZE - 1],
                   TASK_CLK_PRIO,
                   TASK_CLK_ID,
                   &TaskClkStk[0],
                   TASK_STK_SIZE,
                   (void *)0,
                   OS_TASK_OPT_STK_CHK | OS_TASK_OPT_STK_CLR);

    OSTaskCreateExt(Task1,
                   (void *)0,
                   &Task1Stk[TASK_STK_SIZE - 1],
                   TASK_1_PRIO,
                   TASK_1_ID,
                   &Task1Stk[0],
                   TASK_STK_SIZE,
                   (void *)0,
                   OS_TASK_OPT_STK_CHK | OS_TASK_OPT_STK_CLR);

    OSTaskCreateExt(Task2,
                   (void *)0,
                   &Task2Stk[TASK_STK_SIZE - 1],
                   TASK_2_PRIO,
                   TASK_2_ID,
                   &Task2Stk[0],
                   TASK_STK_SIZE,
                   (void *)0,
                   OS_TASK_OPT_STK_CHK | OS_TASK_OPT_STK_CLR);

    OSTaskCreateExt(Task3,
                   (void *)0,
                   &Task3Stk[TASK_STK_SIZE - 1],
                   TASK_3_PRIO,
                   TASK_3_ID,
                   &Task3Stk[0],
                   TASK_STK_SIZE,
                   (void *)0,
                   OS_TASK_OPT_STK_CHK | OS_TASK_OPT_STK_CLR);
OSTaskCreateExt(Task4,
                   (void *)0,
                   &Task4Stk[TASK_STK_SIZE - 1],
                   TASK_4_PRIO,
                   TASK_4_ID,
                   &Task4Stk[0],
                   TASK_STK_SIZE,
                   (void *)0,
                   OS_TASK_OPT_STK_CHK | OS_TASK_OPT_STK_CLR);

    
}

/*$PAGE*/

void Task1(void *pdata)
{
	INT8U		err;
	OS_STK_DATA data;
	INT16U		time;
	INT8U		i;
	char s[80];
	pdata=pdata;

  for(;;)
  {
		for(i=0;i<5;i++)
		{
			PC_ElapsedStart();
			err = OSTaskStkChk(TASK_START_PRIO+i,&data);
			time=PC_ElapsedStop();
			if(err==OS_NO_ERR)
			{
				sprintf(s,"4%ld      %4ld       %4ld      %6d",data.OSFree+data.OSUsed,
				data.OSFree,
				data.OSUsed,
				time);
				PC_DispStr(19,12+i,s,
						DISP_FGND_BLACK +DISP_BGND_LIGHT_GRAY);
			}

		
		}
		OSTimeDlyHMSM(0,0,0,100);
  }
	}

void Task2(void *pdata)
{
	
	/*char s1[5]={'1','_','_','_','_'};
	char s2[5]={'_','1','_','_','_'};
	char s3[5]={'_','_','1','_','_'};
	char s4[5]={'_','_','_','1','_'};
	char s5[5]={'_','_','_','_','1'};*/
	char s1[6];
	char s2[6];
	char s3[6];
	char s4[6];
	char s5[6];
    pdata =pdata;
	sprintf(s1,"%c%c%c%c%c",'|','_','_','_','_');
	sprintf(s2,"%c%c%c%c%c",'_','|','_','_','_');
	sprintf(s3,"%c%c%c%c%c",'_','_','|','_','_');
	sprintf(s4,"%c%c%c%c%c",'_','_','_','|','_');
	sprintf(s5,"%c%c%c%c%c",'_','_','_','_','|');
	for(;;)
	{
	PC_DispStr(70,15,s1,DISP_FGND_YELLOW+DISP_BGND_GREEN);
	OSTimeDly(10);
	PC_DispStr(70,15,s2,DISP_FGND_YELLOW+DISP_BGND_BLUE);
	OSTimeDly(10);
	PC_DispStr(70,15,s3,DISP_FGND_YELLOW+DISP_BGND_BLACK);
	OSTimeDly(10);
	PC_DispStr(70,15,s4,DISP_FGND_YELLOW+DISP_BGND_RED);
	OSTimeDly(10);
	PC_DispStr(70,15,s5,DISP_FGND_YELLOW+DISP_BGND_BLUE);
	OSTimeDly(10);
	}
/*	num++;*/

}
void Task3(void *pdata)
{
	
	/*char s1[5]={'_','_','_','_','|'};
	char s2[5]={'_','_','_','|','_'};
	char s3[5]={'_','_','|','_','_'};
	char s4[5]={'_','|','_','_','_'};
	char s5[5]={'|','_','_','_','_'};*/
	char s1[6];
	char s2[6];
	char s3[6];
	char s4[6];
	char s5[6];
    pdata =pdata;
	sprintf(s1,"%c%c%c%c%c",'_','_','_','_','|');
	sprintf(s2,"%c%c%c%c%c",'_','_','_','|','_');
	sprintf(s3,"%c%c%c%c%c",'_','_','|','_','_');
	sprintf(s4,"%c%c%c%c%c",'_','|','_','_','_');
	sprintf(s5,"%c%c%c%c%c",'|','_','_','_','_');
	for(;;)
	{
		PC_DispStr(70,16,s1,DISP_FGND_YELLOW+DISP_BGND_RED);
		OSTimeDly(10);
		PC_DispStr(70,16,s2,DISP_FGND_YELLOW+DISP_BGND_BLUE);
		OSTimeDly(10);
		PC_DispStr(70,16,s3,DISP_FGND_YELLOW+DISP_BGND_BLACK);
		OSTimeDly(10);
		PC_DispStr(70,16,s4,DISP_FGND_YELLOW+DISP_BGND_BLUE);
		OSTimeDly(10);
		PC_DispStr(70,16,s5,DISP_FGND_YELLOW+DISP_BGND_GREEN);
		OSTimeDly(10);
	}
}

void Task4(void *pdata)
{
	char s1[]={'s','e','s','p','e'};
	
INT16S key;
    pdata =pdata;
	for(;;)
	{
		if(PC_GetKey(&key))
		{

			if(key=='2')
				{
					OSTaskSuspend(13);
                    PC_DispStr(70,15,s1,DISP_FGND_YELLOW+DISP_BGND_RED);
					OSTaskResume(14);
				}
			if(key=='3')
				{   
					OSTaskSuspend(14);
                    PC_DispStr(70,16,s1,DISP_FGND_YELLOW+DISP_BGND_RED);
					OSTaskResume(13);
				}
		    if(key=='f')
				{
					OSTaskResume(13);
					OSTaskResume(14);
					
				}
			 if(key=='s')
				{
					OSTaskSuspend(13);
					OSTaskSuspend(14);
					PC_DispStr(70,15,s1,DISP_FGND_YELLOW+DISP_BGND_RED);
					PC_DispStr(70,16,s1,DISP_FGND_YELLOW+DISP_BGND_RED);
				}
		}
    OSTimeDly(OS_TICKS_PER_SEC);
	}
}

void TaskClk(void *pdata)
{
	char s[40];
	pdata=pdata;
	for(;;){
	PC_GetDateTime(s);
	PC_DispStr(60,23,s,DISP_FGND_YELLOW+DISP_BGND_BLUE);
	OSTimeDly(OS_TICKS_PER_SEC/2);
	}
}

⌨️ 快捷键说明

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