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.6 KiB
91 lines
2.6 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
|
|
|