//===========================================================================
//文件名称：app_inc.h
//功能概要：应用任务公共头文件，供任务函数及ISR使用
//         包含其他头文件、声明全局变量、登记任务模板编号、声明任务函数及ISR
//版权所有：苏州大学飞思卡尔嵌入式中心(sumcu.suda.edu.cn)
//版本更新：2013-10-30  V1.0,2014-05-09 V2.1
//===========================================================================
#ifndef __APP_INC_H
#define __APP_INC_H
//---------------------------------------------------------------------------

//1.包含头文件
#include <mqx.h>
#include <bsp.h>
#include <light.h>
#include "lwsem.h"

//2.声明全局变量
//定义共享数据区结构体，包含一个读信号量、一个写信号量与数据部分
typedef struct sw_fifo
{
   LWSEM_STRUCT   SEM_READ;
   LWSEM_STRUCT   SEM_WRITE;
   uchar          DATA;
} SW_FIFO, _PTR_ SW_FIFO_PTR;
SW_FIFO fifo;//声明一个全局共享数据区
//定义写任务的数量
#define NUM_WRITERS  3

//3.登记任务模板编号
#define TASK_MAIN    1
#define TASK_A       2
#define TASK_B       3
#define TASK_READ    4
#define TASK_WRITE   5

//4.声明任务函数
void task_main(uint32_t initial_data);
void task_A(uint32_t initial_data);
void task_B(uint32_t initial_data);
void task_write(uint_32 initial_data);
void task_read(uint_32 initial_data);

//5.声明中断服务例程ISR
void UART4_RX_ISR( pointer user_isr_ptr);

//---------------------------------------------------------------------------
#endif
