#include "app_inc.h"     

//===========================================================================
//任务名称：task_main
//功能概要：MQX自启动任务，主要实现全局变量初始化、创建其他任务、安装用户ISR
//参数说明：未使用
//===========================================================================
void task_main(uint32_t initial_data)
{
    //1.全局变量初始化
	MUTEX_ATTR_STRUCT mutexattr;//定义互斥量属性结构体变量
	char* strings1[] = { "1", "Hello from Print task 1\n" };
	char* strings2[] = { "2", "Print task 2 is alive\n" };
	//初始化互斥属性结构体
	_mutatr_init(&mutexattr);
	//初始化互斥结构体
	_mutex_init(&MUTEX_PRINT, &mutexattr);

    //2.外设初始化
    light_init(Light_D1,LIGHT_OFF);      //灯1初始化
    light_init(Light_D2,LIGHT_OFF);      //灯2初始化
    
    //3.创建其他任务
	_task_create(0, TASK_A, 0);          //创建run_A任务
	_task_create(0, TASK_B, 0);          //创建run_B任务
	//创建两个打印任务
	_task_create(0, TASK_PRINT, (uint_32) strings1);
	_task_create(0, TASK_PRINT, (uint_32) strings2);
    
    //4.安装用户ISR

         
    //------------执行完毕，本任务进入阻塞态-----------------------------------
    _task_block();                    
}
