#include "app_inc.h"     

//===========================================================================
//任务名称：task_main
//功能概要：MQX自启动任务，主要实现全局变量初始化、创建其他任务、安装用户ISR
//参数说明：未使用
//===========================================================================
void task_main(uint32_t initial_data)
{
    //1.全局变量初始化
    _lwevent_create(&lwevent_group1,0);  //创建轻量级事件组
    g_UART_FrameCount=0;                 //接收的帧数

    //2.外设初始化
    light_init(LIGHT_PORT, LIGHT_PIN_RED,LIGHT_OFF);   //红灯初始化
    light_init(LIGHT_PORT, LIGHT_PIN_GREEN,LIGHT_OFF); //绿灯初始化
    light_init(LIGHT_PORT, LIGHT_PIN_BLUE,LIGHT_OFF);  //蓝灯初始化
    uart_init (UART_1,BUSCLK, 9600);     //串口1、2使用总线时钟24000Khz      
    uart_init (UART_2,BUSCLK, 9600);     //波特率使用9600 
    uart_send_string(UART_1, "Hello Uart_1!\r\n"); //串口发送初始化提示
    uart_send_string(UART_2, "Hello Uart_2!\r\n");
    
    //3.创建其他任务
    _task_create_at(0, TASK_A, 0, task_A_stack, TASK_A_STACK_SIZE);
    _task_create_at(0, TASK_B, 0, task_B_stack, TASK_B_STACK_SIZE);
    _task_create_at(0, TASK_C, 0, task_C_stack, TASK_C_STACK_SIZE);
    _task_create_at(0, TASK_D, 0, task_D_stack, TASK_D_STACK_SIZE);
    
    //4.安装用户ISR
    _int_install_isr(INT_UART1,UART1_RX_ISR,NULL); //串口1的ISR
    
    //5.使能模块中断及总中断
	uart_enable_re_int(UART_1);   //使能串口1接收中断
	init_critical();              //开总中断
	
    //------------执行完毕，本任务进入阻塞态-----------------------------------
    _task_block();
}
