📄 sctruct.h
字号:
byte cmd;
byte data_pack[255];
union
{
unsigned int crc;
struct
{
byte crc_H;
byte crc_L;
} crcw;
} cs;
}UP_COMMUNICATION_FRAME;
typedef struct/*NHB2.0通信帧结构*/
{
byte adr;
byte cmd;
byte data_pack[14];
union
{
unsigned int crc;
struct
{
byte crc_H;
byte crc_L;
} crcw;
} cs;
}DOWN_COMMUNICATION_FRAME;
#define JJ_ALARM 0x01
#define MQ_ALARM 0x02
#define YG_ALARM 0x04
#define MC_ALARM 0x08
#define HW_ALARM 0x10
#define WJJ_ALARM 0x20
#define TELE_GZ 0x40
#define WG_ALARM 0x80
typedef struct
{
byte func;/*功能号*/
byte tele_ring_times;/*电话振铃次数*/
byte secury[10];/*密码*/
byte alarm_type;
byte tele_number1[20];/*报警电话1*/
byte tele_number2[20];/*报警电话2*/
byte tele_number3[20];/*报警电话2*/
struct/*控制号码结构*/
{
byte key_device_addr;/*要模拟的分体键盘的设备号0-255*/
byte key_num;/*要模拟的分体键盘的按键号1-8*/
byte key_operate;/*要执行的操作1\0*/
}control;
}TELE_FUNCTION;
//----------------------------------------------------------------------
typedef struct DEVICE_LIST/*存储网络房屋下带设备信息链表结构*/
{
byte addr;/*网络房屋下带设备地址*/
byte type;/*网络房屋下带设备类型*/
struct DEVICE_LIST *next;
}DevList,*pDevList;/*5字节*/
//-----------------------------------------------------------------------
typedef struct RELATION_LIST/*网络房屋控制关系链表结构*/
{
byte keynum;/*按键值1-8*/
byte keyaddr;/*键盘地址*/
byte outaddr;/*所对应的输出单元地址*/
byte chanel;/*所对应的输出通道*/
byte mode;/*控制方式*/
byte curr_status;/*当前操作状态*/
struct RELATION_LIST *next;
}RelList,*pRelList;/*9字节*/
//------------------------------------------------------------------------
typedef struct FIFO/*上传信息队列结构*/
{
byte info[14];
struct FIFO *next;
}fifo,*pfifo;/*21字节*/
/*下带安防控制器设撤防状态链表*/
typedef struct XCH_STATUS_LIST
{
byte xch_addr;/*报警控制器设备号*/
byte curr_status;/*报警控制器当前部防状态;41H,42H*/
byte x25045_addr;/*在25045中的地址*/
struct XCH_STATUS_LIST *next;
}XchStatusList,*pXchStatusList;/*7字节*/
/*射频读卡结构*/
typedef struct
{
union
{
unsigned int crcw;/*射频卡ID校验*/
struct
{
unsigned char crcl;
unsigned char crch;
}crcb;
}rfid_crc;
unsigned char rfid_ritimes;/*阶段计数*/
unsigned char rfid_ritimes1;/*位计数*/
unsigned char rfid_ritimes2;/*字节计数器*/
unsigned char rfid_return;/*读卡返回值*/
unsigned char rfid_sbuf;/*接收*/
unsigned char rfid_code[14];/*射频ID存放区*/
}RFID,*pRFID;
typedef union
{
unsigned char time_array[7];
struct
{
unsigned char sec;
unsigned char min;
unsigned char hour;
unsigned char day;
unsigned char mounth;
unsigned char week;
unsigned char year;
}time_stru;
}TIME_UNION;
typedef struct
{
unsigned int sbuf;/*无线信息移位缓冲区*/
unsigned int addr;/*无线地址*/
unsigned char key1;/*偶数序列*/
unsigned char key2;/*奇数序列*/
unsigned char key;/*无线按扭键值*/
unsigned char ritimes;/*阶段计数器*/
unsigned char ritimes1;/*接收位计数*/
}WIRELESS;
/*定义用于信息分页显示的双向链表*/
typedef struct MESSAGE_LIST
{
struct MESSAGE_LIST *prev;
int offset;
struct MESSAGE_LIST *next;
}MESSAGE_PAGE,*pMESSAGE_PAGE;/*16字节*/
/* 定义拖机通信数据结构*/
typedef struct TJCOMM
{
unsigned char cmd;
unsigned char data_pack[8];
unsigned char crc;
}TJDATA,*pTJDATA;
typedef union T_WORD
{
int s_int;
struct
{
char h;
char l;
}s_char;
}INT2CHAR;
typedef struct TELE_NUM_STRUCT
{
unsigned char tel1_num[13];
unsigned char tel2_num[13];
unsigned char tel3_num[13];
}TELE_NUM,*pTELE_NUM;
/*************************************
双音频拨号数据结构定义
**************************************/
typedef struct DTMF_STRUCT
{
unsigned int phase_add1; //保存低音调相位加法器
unsigned int phase_add2; //保存低音调相位加法器
unsigned int phase_acc1; // 保存低音调相位累加器
unsigned int phase_acc2; // 保存高音调相位累加器
int num;/*样点计数*/
}DTMF;
#define SAMPLERATED 22050L // DAC更新率Hz
#define phase_precision 65536 // 相位累加器的范围
/* DTMF相位加法器值是基于SAMPLERATED和<phase_precision>*/
#define LOW697 697 * phase_precision / SAMPLERATED
#define LOW770 770 * phase_precision / SAMPLERATED
#define LOW852 852 * phase_precision / SAMPLERATED
#define LOW941 941 * phase_precision / SAMPLERATED
#define HI1209 1209 * phase_precision / SAMPLERATED
#define HI1336 1336 * phase_precision / SAMPLERATED
#define HI1477 1477 * phase_precision / SAMPLERATED
#define HI1633 1633 * phase_precision / SAMPLERATED
/***************************************
常数定义
A=2*cos(2*PI*fi/fs)
fs=4800HZ
****************************************/
#define A697 1.224
#define A770 1.067
#define A852 0.88
#define A941 0.665
#define A1209 -0.024
#define A1336 -0.354
#define A1477 -0.709
#define A1633 -1.074
#define GATE1 100000000
#define GATE2 200000000
#define GATE3 40000000
#define GATE4 40000000
#define GATE5 1.5
#define GATE6 4.5
/*****************************************
本地报警记录数据结构
******************************************/
typedef struct ALARM_RECODER
{
unsigned char alarm_type;/*报警类型*/
TIME_UNION alarm_time;/*报警时间*/
}LOCAL_ALARM_RECODER;
typedef struct ALARM_RECODER_ST
{
LOCAL_ALARM_RECODER local_alarm_record[6];
}LOCAL_ALARM_TABLE;
#define SAMPLE_LENGTH 192
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -