平车主控板(运维板)
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.
 
 
 
 
 

91 lines
2.5 KiB

////////////////////////////////////////////////////////////////////////////
///@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