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

📄 main.c

📁 周立功LPC213X开发板光盘资料.... 包含模板,实例代码
💻 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:			Chenxibing
** Modified date:		2005-03-11
** Version:
** Descriptions:		信号量使用
**
********************************************************************************************************/
#include "config.h"
#include "stdlib.h"

#define	TaskStkLengh	64			// 定义用户任务0的堆栈长度
 
OS_STK	TaskStk [TaskStkLengh];		// 定义用户任务0的堆栈
OS_STK	Task1Stk [TaskStkLengh];	// 定义Task1的堆栈

void 	Task0(void *pdata);			// Task0 任务0
void 	Task1(void *pdata);			// Task1 任务1


OS_EVENT *DispSem;

/*
*********************************************************************************************************
** 函数名称 :UART0_SendByte()
** 函数功能 :向串口发送字节数据,并等待发送完毕,查询方式。
** 入口参数 :dat	要发送的数据
** 出口参数 :无
*********************************************************************************************************
*/
void UART0_SendByte (uint8 dat)
{
	U0THR = dat;
	while ((U0LSR & 0x40) == 0);		// 等待数据发送完毕
}
/*
*********************************************************************************************************
** 函数名称 :UART0_SendStr()
** 函数功能 :向串口发送一字符串
** 入口参数 :str	要发送的字符串的指针
** 出口参数 :无
*********************************************************************************************************
*/
void UART0_SendStr (uint8 const *str)
{
	while (1)
	{
		if (*str == '\0')	break;		// 遇到结束符,退出
		UART0_SendByte(*str++);			// 发送数据
	}
}

/*
**********************************************************************************************************
** 函数名称 :main()
** 函数功能 :uC/OS-II主函数,启动多任务环境。
**********************************************************************************************************
*/
int main (void)
{
	OSInit ();		
	DispSem = OSSemCreate(1)																								;
	OSTaskCreate (Task0,(void *)0, &TaskStk[TaskStkLengh - 1], 2);		
	OSStart ();
	return 0;															
}

/*********************************************************************************************************
**                            Task0 任务0
**                     目标板初始化,创建Task1,向串口0发送字符串“I AM TASK A.”
********************************************************************************************************/

void Task0	(void *pdata)
{
	uint8 err;
	uint8 str0[]="I AM TASK A.";
	
	pdata = pdata;
	TargetInit ();
	OSTaskCreate (Task1,(void *)0, &Task1Stk[TaskStkLengh - 1], 3);		
	
	while (1)
	{
		OSSemPend(DispSem, 0, & err);	//  等待信号量
		UART0_SendStr(str0);
		OSTimeDly(1);
		err = OSSemPost(DispSem);		// 发送信号量
			
	}
			
}
 
/*********************************************************************************************************
**                            Task1 任务1
**                        向串口0发送字符串“i am task b.”
********************************************************************************************************/

void Task1	(void *pdata)
{
	uint8 err;
	uint8 str1[]="i am task b.";
	
	pdata = pdata;
	
	while (1)
	{
		
		OSSemPend(DispSem, 0, & err);	//  等待信号量
		UART0_SendStr(str1);
		err = OSSemPost(DispSem);		// 发送信号量

	}
}
   
  
/*********************************************************************************************************
**                            End Of File
********************************************************************************************************/

⌨️ 快捷键说明

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