sop板
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

97 lines
2.3 KiB

////////////////////////////////////////////////////////////////////////////
///@copyright Copyright (c) 2018, 传控科技 All rights reserved.
///-------------------------------------------------------------------------
/// @file bsp_drv.c
/// @brief bsp @ driver config
///-------------------------------------------------------------------------
/// @version 1.0
/// @author CC
/// @date 20180331
/// @note cc_AS_stc02
//////////////////////////////////////////////////////////////////////////////
#include "task_low_power.h"
#include "../app/app_config.h"
#include "../bsp/bsp_config.h"
#include "../bsp/bsp_rfid.h"
#include "../msp/uart0.h"
#include "../app/task_rfid.h"
S_TASK_LOW_POWER _s_task_low_power;
void L3_task_low_power_init(void)
{
L1_task_init(&_s_task_low_power.task);
L3_task_s_go(_s_task_low_power,D_task_init);
}
#define D_task_LOW_POWER_SET 0x50
#define D_task_LOW_POWER_CHANGE 0x51
#define D_task_XD_CHANGE 0x52
void L3_task_low_power_handler(S_TASK_LOW_POWER *s)
{
TTSS_Task_init()
s->power_mode = R.power_mode;
s->xd_mode = R.xd_mode;
L2_task_go(D_task_LOW_POWER_SET);
TTSS_Task_step(D_task_LOW_POWER_SET)
if(R.power_mode == POWER_LOW)
{
//低功耗模式除了功能按键,所有灯全灭
L3_led_clear();
//低功耗模式下禁用RFID
bsp_rfid_en(RFID_DISABLE);
//低功耗模式下,无法(也不需要)开启心电模式
R.xd_mode = 0;
}
L2_task_go_Tdelay(D_task_LOW_POWER_CHANGE,0);
TTSS_Task_step(D_task_LOW_POWER_CHANGE)
if(s->power_mode != R.power_mode)
{
s->power_mode = R.power_mode;
//退出低功耗模式时,启用RFID
if(R.power_mode == POWER_NORMAL)
{
//启用rfid
bsp_rfid_en(RFID_ENABLE);
//重新初始化RFID任务
L3_task_rfid_init();
//心电进入正常模式
R.xd_mode = 0;
}
}
L2_task_go_Tdelay(D_task_XD_CHANGE,0);
TTSS_Task_step(D_task_XD_CHANGE)
//正常功耗模式下,心电模式才有意义
if(R.power_mode == POWER_NORMAL)
{
if(s->xd_mode != R.xd_mode)
{
s->xd_mode = R.xd_mode;
if(R.xd_mode == 0)
{
//启用rfid
bsp_rfid_en(RFID_ENABLE);
//重新初始化RFID任务
L3_task_rfid_init();
}
else
{
//禁用RFID
bsp_rfid_en(RFID_DISABLE);
}
}
}
L2_task_go_Tdelay(D_task_LOW_POWER_SET,D_Tdelay_500ms);
TTSS_Task_end();
}