main.c

来自「《增强型8051单片机实用开发技术》例程代码」· C语言 代码 · 共 62 行

C
62
字号
/* 本例程uCOS-II 版本为2.51*/  #include "includes.h"
sbit LED1=P1^3;
sbit LED2=P1^7;
OS_STK Task1Stk[MaxStkSize+1];
OS_STK Task2Stk[MaxStkSize+1];
OS_STK Task3Stk[MaxStkSize+1];

OS_EVENT* FirstSem;
INT8U err;void Task1(void *ppdata) reentrant{
	ppdata=ppdata;
	ET0=1;       //开时钟节拍中断-------根据杨屹文章更改	for(;;)    {
		LED1=~LED1;        OSTimeDly(OS_TICKS_PER_SEC/2);
		OSSemPost(FirstSem);	    }    }

void Task2(void *ppdata) reentrant{
	ppdata=ppdata;	for(;;)    {
	    OSSemPend(FirstSem,0,&err);
		LED2=~LED2;    }    }

void Task3(void *ppdata) reentrant{
	ppdata=ppdata;	for(;;)    {
		OSTimeDlyHMSM(0,0,10,0);
		PCA_PWM0=0x00;
		CCAP0H=0x40;
		OSTimeDly(OS_TICKS_PER_SEC/4);
		PCA_PWM0=0x03;    }    }void main(void){	OSInit();	InitHardware();
	FirstSem=OSSemCreate(0);//定义一个信号量
	OSTaskCreate(Task1,(void*)0,&Task1Stk[0],0);
	OSTaskCreate(Task2,(void*)0,&Task2Stk[0],1);
	OSTaskCreate(Task3,(void*)0,&Task3Stk[0],2);
	OSStart();
}

⌨️ 快捷键说明

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