//////////////////////////////////////////////////////////////////////////// ///@copyright Copyright (c) 2017, 传控科技 All rights reserved. ///------------------------------------------------------------------------- /// @file msa300.c /// @brief msa300 driver app ///------------------------------------------------------------------------- /// @version 1.0 /// @author CC /// @date 20170122 /// @note cc_AS_stc01 ////////////////////////////////////////////////////////////////////////////// #ifndef _BSP_RELAY_H #define _BSP_RELAY_H #include "../bsp/bsp_config.h" #include "../msp/uart0.h" #include "../cpu/c51_macro.h" #include "../app/app_common.h" #include "../app/app_task_relay.h" ///-------------------- 继电器协议映射----------------------- typedef void (*relay_handler)(U8); struct _s_relay_oper { U8 relay; relay_handler relay_handler; U8 relay_initial; //继电器初始化状态 U8 relay_status; vU32 relay_oper_max_time; //保持操作状态最长时间(s) vU32 relay_oper_stmp; //继电器操作时间戳 }; #ifdef BOARD_MAIN03_A9 //A9板卡 #define ULN1B (P14) #define ULN2B (P63) #define ULN3B (P62) #define ULN4B (P61) #define ULN5B (P15) #define ULN6B (P44) #elif defined BOARD_MAIN04_GM35 //GM35板卡 #define ULN1B (P15) #define ULN2B (P44) #define ULN3B (P14) #define ULN4B (P63) #define ULN5B (P62) #define ULN6B (P61) #elif defined BOARD_MAIN04_GM35_M42 //GM35_M42板卡 #define ULN1B (P15) #define ULN2B (P62) #define ULN3B (P61) #define ULN4B (P60) #define ULN5B (P13) #define ULN6B (P14) #define ULN8B (P44) #define D_pwer12_on() D_P64_ON(); D_P65_OFF(); //relay bi #define D_pwer12_off() D_P64_OFF();D_P65_ON(); //relay kai #endif #define RELAY_KAI 1 //程序内部的 开和闭 IO赋值 #define RELAY_BI 0 #define RELAY_NONE 2 #if 0 #define PROTO_RELAY_KAI 1 //用户协议的IO赋值 #define PROTO_RELAY_BI 0 #endif #define PC_GUANJI 1 #define PC_KAIJI 2 #define RELAY_PRINTER 0 //打印机 #define RELAY_PC 1 //PC #define RELAY_LED 2 //灯箱 #define RELAY_LED_FUYIN 3 //复印补光 #define RELAY_LED_RENXIANG 4 //人像补光 #define RELAY_12V_RESV 5 //保留 #define RELAY_PRINTER_1 6 //打印机第二路开关 #define RELAY_CBC 7 //磁保持继电器 extern struct _s_relay_oper s_relay_oper[RELAY_NUM]; extern void L2_do_relay(U8 *buf); extern void L2_relay_init(void); extern void L1_relay_on(vU8 n,vU8 val); extern U8 L2_relay_convert_and_do(int index,int val); extern void L2_relay_poweroff_all(void); extern void L2_relay_poweron_all(void); #endif // #ifndef _LED_H