//===========================================================================
//文件名称：task_temp.c
//功能概要：芯片温度检测
//版权所有：苏州大学飞思卡尔嵌入式中心(sumcu.suda.edu.cn)
//版本更新：无需更改
//===========================================================================
#include "01_app_include.h"    //应用任务公共头文件

//===========================================================================
//任务名称：task_temp
//功能概要：控制每隔1s采样一次温度，该任务优先级为14
//参数说明：未使用
//===========================================================================
void task_temp(uint32_t initial)
{	

	//1. 声明任务使用的变量
	union
	    {
	        uint_16  twobyte;
	        uint_8   byte[2];
	    }temp;
	//2. 给有关变量赋初值

	//3. 进入任务循环体
	while(TRUE) 
	{
		//以下加入用户程序--------------------------------------------------------
		//1）实时测量温度
		//等待事件位开始传送温度
		_lwevent_wait_for(&lwevent_group, EVENT_TEMP, FALSE, NULL);
		//马上置位事件位，以便下次继续读取温度
		_lwevent_set(&lwevent_group,EVENT_TEMP);

		_time_delay_ticks(DELAY_TIMES);
		//light_change(LIGHT_RUN_1);

		DISABLE_INTERRUPTS;      //关总中断
		temp.twobyte=adc_read(26);
		g_rf_sentBuf[0]=HEAD_TERMINAL;
		g_rf_sentBuf[1]=4;
		g_rf_sentBuf[2]=g_tinfo.hd_addr;
		g_rf_sentBuf[3]=eAPPCMD_TEMP;//控制命令
		g_rf_sentBuf[4]=temp.byte[0];
		g_rf_sentBuf[5]=temp.byte[1];
		g_rf_sentBuf[6]=END_TERMINAL;
		g_rf_sentBufLength=7;

		ENABLE_INTERRUPTS;       //开总中断

		//置位rf发送事件位，发送采集到的温度
		_lwevent_set(&lwevent_group, EVENT_RF_SEND);

		//2）任务延时1秒
		_time_delay_ticks(DELAY_TIMES); //每个tick对应5ms，延时200*5ms=1s

	}//任务循环体end_while
}
