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

📄 demo.c

📁 UCOS-II移植C8051单片机上 使用C8051F020开发板。KEIL U3编译通过。 串口连接到PC机上
💻 C
字号:
#include <includes.h>

#define MAX_STK_SIZE 64

void Init_Device(void);

void TaskStartyya(void *yydata) reentrant;
//void TaskStartyyb(void *yydata) reentrant;
//void TaskStartyyc(void *yydata) reentrant;
void TaskStartyye(void *yydata) reentrant;

OS_STK TaskStartStkyya[MAX_STK_SIZE+1];//注意:我在ASM文件中设置?STACK空间为40H即64,不要超出范围。
OS_STK TaskStartStkyyb[MAX_STK_SIZE+1];//用户栈多一个字节存长度
OS_STK TaskStartStkyyc[MAX_STK_SIZE+1];
OS_STK TaskStartStkyye[MAX_STK_SIZE+1];
extern INT8U Ibuf0[];
//extern INT8U OSCPUUsage;
//OS_EVENT *keyp;			//声明信号量
sbit led = P1^6;
sbit key = P3^7;
bit keyps;
INT8U i0,j0,k0;
INT8U code str[4] = {"123"};
 
void main(void)
{   Init_Device();

//	keyp = OSSemCreate(0);
    OSInit();

    OSTaskCreate(TaskStartyya, (void *)0, &TaskStartStkyya[0],4);

//    OSTaskCreate(TaskStartyyc, (void *)0, &TaskStartStkyyc[0],4);
//    OSTaskCreate(TaskStartyyb, (void *)0, &TaskStartStkyyb[0],5);
	OSTaskCreate(TaskStartyye, (void *)0, &TaskStartStkyye[0],6);   
    OSStart();
}


void TaskStartyya(void *yydata) reentrant
{

    yydata=yydata;
    OSStatInit();			//初始化统计任务

    for(;;){

	 for (i0 = 0;i0<k0;i0++)
	 {
	  for (j0 = 0;j0 <6;j0++)
	  {;}
	 }
        OSTimeDly(1);   
		 
    }    

}


void TaskStartyyb(void *yydata) reentrant
{ 
    yydata=yydata; 
    
    for(;;){
OSTimeDly(50);
//	k0 ++;
    }    
}
/*
void TaskStartyyc(void *yydata) reentrant
{
    yydata=yydata; 
    
    for(;;){					led = !led;


    }    
} 

*/
void TaskStartyye(void *yydata) reentrant
{ INT8U i,j,k;


    yydata=yydata; 

    for(;;){
//			led = !led;
// 			if(key)
//			OSTimeDly(10);
//			else
//			OSTimeDly(50);


			for (i = 0;i<3;i++)
			{
				for(j = 0;j<3;j++)
				{
				 k = i+j;
				 if(k>=3) k = i +j-3;
				 if(str[j] != Ibuf0[k])
				 j = 5;			//两字符串不等,j输出5+1;
				}

				if (j == 3)
				i = 10;		//两字符第一次相等,i输出10+1;
			}
			led = ~led;
			if (i == 11)
			OSTimeDly(2);
			else
			OSTimeDly(50);				//若串口没有输入“123”则慢闪

     }    
} 

⌨️ 快捷键说明

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