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

📄 main.c

📁 UCOS-2.rar
💻 C
字号:
/****************************************Copyright (c)**************************************************
**                               Guangzou ZLG-MCU Development Co.,LTD.
**                                      graduate school
**                                 http://www.zlgmcu.com
**
**--------------File Info-------------------------------------------------------------------------------
** File name:			main.c
** Last modified Date:  2004-09-16
** Last Version:		1.0
** Descriptions:		The main() function example template
**
**------------------------------------------------------------------------------------------------------
** Created by:			Chenmingji
** Created date:		2004-09-16
** Version:				1.0
** Descriptions:		The original version
**
**------------------------------------------------------------------------------------------------------
** Modified by:
** Modified date:
** Version:
** Descriptions:
**
********************************************************************************************************/
#include "config.h"
#include "stdlib.h"




#define  BEEP    1<<7
#define  KEY1    1<<25

#define	TaskStkLengh	64			    // 定义用户任务0的堆栈长度
 
OS_STK	TaskStk [TaskStkLengh];		    // 定义用户任务0的堆栈
OS_STK	TaskBeePStk [TaskStkLengh];		// 定义用户任务TaskBeep 的堆栈
OS_STK	Taskkey1Stk [TaskStkLengh];	    // 定义用户任务key1的堆栈
void 	Task0(void *pdata);			    // Task0 任务0
void 	TaskBeep(void *pdata);			// TaskBeeP 
void 	Taskkey1(void *pdata);		    // Taskkey1 



int main (void)
{
	OSInit ();																										
	OSTaskCreate (Task0,(void *)0, &TaskStk[TaskStkLengh - 1], 2);		
	OSStart ();                         //启动多任务环境
	return 0;			   												
}
/*********************************************************************************************************
**                            Task0 任务0
********************************************************************************************************/

void Task0	(void *pdata)
{
	pdata = pdata;
	TargetInit ();
	PINSEL1=PINSEL1&(~(0x03<<18));
	PINSEL0=PINSEL0&(~(0x03<<14));
	IO0DIR&=~KEY1;
	IO0SET=BEEP;
	IO0DIR|=BEEP;
	OSTaskCreate (TaskBeep,(void *)0, &TaskBeePStk[TaskStkLengh - 1], 3);		
	OSTaskCreate (Taskkey1,(void *)0, &Taskkey1Stk[TaskStkLengh - 1], 4);		
	while (1)
	{
	   
		OSTimeDly(10);
	}
}
   
/*********************************************************************************************************
**                          BeeP
********************************************************************************************************/
void TaskBeep	(void *pdata)
{
   pdata = pdata;
   
   for(;;)
   {
     OSTaskSuspend(OS_PRIO_SELF);
     IO0CLR=BEEP;
     OSTimeDly(OS_TICKS_PER_SEC/8);
     IO0SET=BEEP;
     OSTimeDly(OS_TICKS_PER_SEC/4);
     
     IO0CLR=BEEP;
     OSTimeDly(OS_TICKS_PER_SEC/8);
     IO0SET=BEEP;
     OSTimeDly(OS_TICKS_PER_SEC/4);
  }
}

/*********************************************************************************************************
**                          Taskkey1
********************************************************************************************************/

void Taskkey1	(void *pdata)
{
   
   pdata = pdata;
  
   for(;;)
   
   {
      OSTimeDly(OS_TICKS_PER_SEC/50);
      if((IO0PIN&KEY1)!=0)
      {
         continue;
      
      }
      OSTimeDly(OS_TICKS_PER_SEC/50);
       if((IO0PIN&KEY1)!=0)
      {
         continue;
      
      }
      OSTaskResume(3);
     if((IO0PIN&KEY1)!=0);
      {
        OSTimeDly(OS_TICKS_PER_SEC/50);
      
      }
   }

}









⌨️ 快捷键说明

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