//////////////////////////////////////////////////////////////////////////// ///@copyright Copyright (c) 2017, 传控科技 All rights reserved. ///------------------------------------------------------------------------- /// @file BSP_POWER.c /// @brief BSP_POWER driver app 电源管理 ///------------------------------------------------------------------------- /// @version 1.0 /// @author CC /// @date 20170122 /// @note cc_AS_stc01 ///////////////////////////////////////////////////////////////////////////////// @version 1.0 /// @author CC /// @date 20180921 /// @note ////////////////////////////////////////////////////////////////////////////// #ifndef _BSP_POWER_H #define _BSP_POWER_H #include "../bsp/bsp_config.h" #define L1_cw63_reg_set(x,y) L2_I2C_WriteCmd(D_i2c_addr_cw63xx, (x),(y) ) #define L1_cw63_reg_get(x,y) L2_I2C_ReadReg(D_i2c_addr_cw63xx,(x),1) ///#define D_cam_led_on(); L1_cw63_reg_set(D_power_VCC2,D_CW63XX_ON|D_CW63XX_2V8); ///#define D_cam_led_off(); L1_cw63_reg_set(D_power_VCC2,D_CW63XX_OFF|D_CW63XX_2V8); ///#define D_cam_led_off(); D_cam_led_on();/// #define D_cam_DVDD_on(); L1_cw63_reg_set(D_power_VCC,D_CW63XX_ON|D_CW63XX_2V5); #define D_cam_DVDD_off(); L1_cw63_reg_set(D_power_VCC,D_CW63XX_OFF|D_CW63XX_2V5); #define D_cam_AVDD_on(); L1_cw63_reg_set(D_power_VCC1,D_CW63XX_ON|D_CW63XX_2V8);////D_cam_AVDD_off(); #define D_cam_AVDD_off(); L1_cw63_reg_set(D_power_VCC1,D_CW63XX_OFF|D_CW63XX_2V8);/// /// /******************************************************************************/ /***************************** Include Files **********************************/ /******************************************************************************/ ////#include "../bsp/msa300.h" #include "../msp/uart0.h" #define L0_mcu_mode_powerdown() PCON |= 0x02;_nop_();_nop_();_nop_();_nop_(); /// PCON |= 0x02; //将STOP(PCON.1)置1,MCU将进入掉电模式 // //此时CPU无时钟,不执行指令,且所欲外设停止工作 // //外部中断信号和外部复位信号可以终止掉电模式 // #define L0_mcu_mode_powerIDL() PCON = 0x01;_nop_();_nop_();_nop_();_nop_(); /// PCON |= 0x02; //将STOP(PCON.0)置1,MCU将进入 模式 // //此时CPU 停止工作 // //外部中断信号和外部复位信号可以终止 // ///1000,000/32,000 x 16x(1+n) = #define D_WKTC_16S 0X7FFF #define D_WKTC_15S 29999 #define D_WKTC_10S 19999 #define D_WKTC_5S 9999 #define D_WKTC_3S 5999 #define D_WKTC_2S 3999 #define D_WKTC_1S 1999 #define D_WKTC_500MS 999 #define D_WKTC_50mS 99 #define L0_mcu_WKTC(X) WKTC = 0x8000|(X) ///#define L0_mcu_WKTC(X) WKTCH = B1111_1111;WKTCL = 0XFF #define D_sensor_active_isrNo D_ISR_int4 typedef struct { U8 TI:1; U8 RI:1; U8 Tx_en:1; U8 Rx_en:1; //波特率的位数 eive bit number (8 data bits + 1 stop bit) U8 work:1; U8 show_mod:1; // =0 普通模式 //s_mu_b.show_mod U8 power:1; // =0 普通模式 //s_mu_b.power U8 power2:1; // =0 普通模式 //s_mu_b.show_mod // U8 power; // =0 普通模式 //s_mu_b.show_mod }ts_task_power_; extern ts_task_power_ ts_task_power; extern void L1_app_POWER_init(void); extern void L1_app_POWER_handle(void); // WDT_CONTR = 0x23; //11m使能看门狗,溢出时间约为0.5s /// WDT_CONTR = 0x24; //11m使能看门狗,溢出时间约为1s // WDT_CONTR = 0x27; //11m使能看门狗,溢出时间约为8s // P32 = 0; //测试端口 /// ///22m 2.5s #ifdef D_use_WDT #define DL0_WDT_init() WDT_CONTR =BITN5|D_WDT_2520ms #define DL0_WDT() WDT_CONTR |= 0x10 //清看门狗,否则系统复位 #else #define DL0_WDT_init() #define DL0_WDT() #endif ///注意和烧写界面的硬件看门狗启动 #define D_WDT_315ms B0010_0011 #define D_WDT_629ms B0010_0100 #define D_WDT_1260ms B0010_0101 #define D_WDT_2520ms B0010_0110 #define D_WDT_5030ms B0010_0111 ///11m #define D_WDT_524ms B0010_0011 #define D_WDT_1050ms B0010_0100 #define D_WDT_2100ms B0010_0101 #define D_WDT_4200ms B0010_0110 #define D_WDT_8390ms B0010_0111 #endif // #ifndef _BSP_POWER_H