📄 variel.h
字号:
#define FLAH_ADDR_Variel 0 //总变量结构地址
#define FLAH_ADDR_BJjilu 1000 //报警记录地址
#define SHENGJI_active 0
#define Is_JiaMi 0
#define Is_JiLuRecIn2416 0 //为1 时报警记录保存到24c16
//重新发警情给服务器的时间间隔
#define RE_Fa_Jing_TCPIP4000 4000 //4000*4=16s
//重新发警情给触摸屏的时间间隔
#define RE_Fa_Jing_LcD1500 1500 //1500*4=6s
#define PWM 125
#define EN_PWM PCA0CPM0 |= 0x40 // CCM0为8位PWM方
#define DIS_PWM PCA0CPM0 &= (~0x40) // CCM0为8位PWM方
#define OK 1
#define ERROR 0
#define MM0xa5 0xaa
#define GUIERROR_DAY 180
#define DISABLE() EA=0
#define ENABLE() EA=1
#define Xing 11
#define Jing 12
#define CLR_WDG WDTCN = 0xA5 //允许并清看门狗
//#define CLR_WDG WDTCN = 0x55 //允许并清看门狗
#define YAO_CE 0x03
#define YAO_BU 0x0c
#define YAO_ZAI 0x30
#define YAO_HU 0xc0
#define YAO_1 0xc3
#define YAO_2 0xf3
#define YAO_3 0xfc
#define YAO_4 0xcf
#define YAO_tan_HU 0x3f //无线呼叫按键
#define YAO_YouXian 0x85
#define Play_isd1420() Close_Play_P
#define Close_isd1420() Open_Play_P
//铁电接口有关变量
#define ulong unsigned long
extern bit iic_error_flag,sm_busy;
extern ulong smbus_ms_cnt;//无中断豪秒计数器
//extern uchar watch_buf[20];
extern uchar *iic_buf_p;
extern uchar xdata iic_data_buf[253];
extern uchar slave_add,send_byte,write_start_num,read_start_num,iic_add_count;
extern uchar iic_data_count,iic_data_len,watch;
extern uint iic_ram_add;
extern void Delay_1us() ;
extern bit En_recieve_dtmfb;
extern bit Xin_dtmfb;
extern bit Xin_dtmf_sound_b;
extern uchar xdata Xin_dtmf;
extern uchar Dog_INIT_cnt; //看门狗计数器
extern uchar Dog_ZIJIAN_cnt;
extern uchar Dog_GSMATTAND_cnt;
extern uchar Dog_TcpIp_CHULI_cnt;
extern uchar Dog_FMROMI_cnt; //看门狗计数器
extern uchar Dog_RF315_cnt;
extern uchar Dog_TIMELIMITED_cnt;
extern uchar Dog_JINGQINGCHULI_cnt;
extern uchar Dog_YouXian_CK_task_cnt;
extern uchar Dog_KEYATTAND_cnt; //看门狗计数器
// 以shang是看门狗计数器
#define Delay1us Delay_1us()
#define Delay4us Delay_1us();Delay_1us();Delay_1us();Delay_1us()
/*
#define _nop_1clk asm("nop")
#define NOP5 _nop_1clk;_nop_1clk;_nop_1clk;_nop_1clk;_nop_1clk
#define Delay1us NOP5;NOP5;NOP5;NOP5;NOP5
#define Delay4us Delay1us;Delay1us;Delay1us;Delay1us
*/
#define IIC_CLK 1000000//MHz
//#define IIC_SMB0CR (256 - (SYS_FREQUENCE>>3)/IIC_CLK)
#define IIC_SMB0CR 128 // 0xc9//(257 - (((1000000000/IIC_CLK)-625)*SYS_FREQUENCE/(4*1000000000)))
#define INIT 0
#define Time_2ms_Dog 1
#define GSMATTAND 2
#define TcpIp_CHULI 3
#define FMROM 4
#define RF315 5
#define TIMELIMITED 6
#define JINGQINGCHULI 7
#define YouXian_CK_task 8 //用于发GPRS串口数据
#define ZIJIAN 9 //用于看门 狗监控
#define KEYATTAND 10 //键盘处理任务
extern uchar xdata EECmd;
extern uchar xdata EECmd;
extern uchar xdata EETask;
extern uint xdata FM_addr,FM_num;
//振铃 来检测变量定议
extern bit En_Ring_data_in_B; //有数据进来标志
extern xdata uint En_Ring_data_in_Time_cnt; //计时寄存器,下降沿开始计时
extern xdata uchar Ring_cnt; //铃 声计数器加1
extern bit En_Sms_data_in_B; //有sms数据进来标志
extern xdata uint En_Sms_data_in_Time_cnt; //sms计时寄存器,下降沿开始计时
//=========================================================
//警情记录结构
typedef struct JingQing_JiLu{ //所有参数结构
uchar bak[2]; //+ 总数+ 序号,此二字节 为0时表示空记录
uchar Jing_time[6]; // BAK 警情内容的生存时间, 被 查询后两个小时后清0
uchar Lei;
} struct_JingQing_JiLu;
//无线探头地址结构
typedef struct RF_Addr{ //所有参数结构
uchar Lei;
uint Address;
} struct_RF_24bit;
typedef struct Para_all { //所有参数结构
char Apn[8]; //VERSION
uchar A5A5;
uchar Change_Flag;
uchar BuFang_Delay_Time; //布防延时 (0-255)秒
uchar ZhenLingCiShu_Time; //11. 振铃次数设置2-9 次
uchar BaoJing_Delay_Time; //报警延时 (0-255)秒
uchar ZiJian_Time; //7. 自检间隔设置1-255分钟 0:则不自检
uchar LuXiang_CiShu; //录像次数
uchar Work_Mode; //0:撤防 1 布防 2在家布防 5延时布防
uchar Net_oK_FLAG; // 1:网络是通的 0不通
uchar Is_Have_XingJing_FLAG; //有无新警情 0: 无新警情 1: 有新警情
uchar Is_ChuangTi_Ok; //床体是否正常
uchar Is_DiZhenYi_Ok; //地震仪是否正常
uchar Spk_cnt_Time; // 警号鸣响时长0-255秒??????????????
/*
Byte1: 布防延时时间(0-255)秒
Byte2: 振铃次数(2-9) 次
Byte3: 报警延时时间(0-255)秒
Byte4: 系统自检间隔(0-255)分
Byte5: 摄像记录次数(0-255)欠
Byte6: 布撤防状态 0: 撤防状态 1: 布防 3:在家布防
Byte7: 网络状态 0: 网络不通 1: 布网络在线
Byte8: 有无新警情 0: 无新警情 1: 有新警情
Byte9: 床体状态0: 床体异常 1: 床体正常
Byte10: 地震仪状态0: 地震仪异常 1: 地震仪正常
Byte11: 警号鸣响时长0-255秒
*/
uchar Test1[10]; //测试字节
uchar IP[4]; //ip地址
uint IP_Port; //ip 端口
char My_Apn[10]; //apn
uchar ID[7]; //车id
uchar Mima[7]; //密码
uchar DiZhenYi_status[2]; //11 地震仪状态
uchar ChuangTi_status[3]; //12 防震床状态
uchar FangQu_is_1or0[4]; // //1-4有线防区的输入 状态
char Phone_1To6[6][19]; //报警电话123456
uchar Test2[10]; //测试字节
//struct_RF_24bit RF_Address24_True[20]; //无线对码地址
uchar JingQing_JiLu_True_Head; //警情记录的头指针
uchar JingQing_JiLu_True_Sum; //警情记录总数
uchar Dog_INIT_cnt; //看门狗计数器
uchar Dog_ZIJIAN_cnt; //看门狗计数器
uchar Dog_GSMATTAND_cnt; //看门狗计数器
uchar Dog_TcpIp_CHULI_cnt; //看门狗计数器
uchar Dog_FMROMI_cnt; //看门狗计数器
uchar Dog_RF315_cnt; //看门狗计数器
uchar Dog_TIMELIMITED_cnt; //看门狗计数器
uchar Dog_JINGQINGCHULI_cnt; //看门狗计数器
uchar Dog_YouXian_CK_task_cnt; //看门狗计数器
uchar Dog_KEYATTAND_cnt;
uchar Dog_Gui_Reg;
uint Dog_Gui_Reg_Day; //180
uchar CSsum; //累加和
} struct_Para_all;
extern uchar MYCSsum; //累加和
/*
Work_Mode========
功能码: 8
注:数据长度:1(1 bytes)
数据:Byte1
数据域说明。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
Byte1.3 Byte1.2Byte1.1 Byte1.0
0:无定义
1:发生 撤防
2:发生 有声音布防
3:发生 无声布防
4:发生 进入修车
5:发生 退出修车,进入撤防状态
*/
extern xdata struct_Para_all Para_all_True;
extern code struct_Para_all struct_Para_all_IniteValue;
extern code struct_Para_all struct_Para_all_MaxValue ;
extern code struct_Para_all struct_Para_all_MinValue ;
//变量结构
typedef struct Variale { //所有参数结构
uchar Xin_Flag;
uchar Attand_One_Jing_B; // 有新警情要处理的标志
uchar ZiJian_Byte; //自检字节
uint Net_oK_FLAG_cnt; // 网络通不通计数器,5分钟定时通讯握手
uchar XinCeFang_B; //新来的撤防标志 1: 有新撤防命令来
} struct_Variale;
#define Net_oK_FLAG_cnt_MAX 80
/*
struct_Variale_True.Net_oK_FLAG=0; // 1:网络是通的 0不通
报警时置为1,上位可要求为1
但只有上位机通知断,才能清为0
清为0 后,自己不再主动握手查询网络通不通
struct_Variale_True.Net_oK_FLAG_cnt=0; //秒为单位
// 网络通不通计数器,5分钟定时通讯握手
一量发现网络不通时要主动连接,连接后收到对方查询ID时置
struct_Variale_True.Net_oK_FLAG=1;
*/
extern code struct_JingQing_JiLu struct_JingQing_JiLu_True_Value[100];
extern struct_Variale struct_Variale_True;
extern xdata struct_JingQing_JiLu struct_JingQing_JiLu_True[110];
extern xdata uchar struct_JingQing_JiLu_Change; //用于标识是否有警情记录要存储
extern xdata uchar XinRf315_B;
extern xdata struct_JingQing_JiLu struct_JingQing_Current_True; // 当前的警情
extern xdata unsigned long XinRf315_Value[2];
extern struct_RF_24bit RF_Address24_Xin; //
extern xdata uchar XinJingLei_Byte; //高位为1为有线否则为无线
extern xdata uchar XinPhone_JingLei_Byte; // 打电话用的报警字节
extern xdata uchar XinTcp_JingLei_Byte; // TCPIP用的报警字节
extern xdata struct_Para_all Para_all_True_Bak;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -