📄 const.h
字号:
#define TRK_MAX 3072 //最大中继线号
#define GRP_MAX 1024 //最大会议组
#define TRK_LC_MAX 96 //最大环路资源
#define ACCOUNT_MAX 10000 //最大帐户资源
#define MIX_MAX 96 //最大混音资源
#define CONTROL_AUDIO_MAX 512 //最大混音资源
#define DTMF_MAX 8 //最大提示音资源
#define VALID_LENGTH 20 //命令字有效部分的长度,目前用到18
#define BUF_MAX_LENGTH 512 //缓冲区大小
#define PHONE_MAX 9 //电话号码最大长度
#define AT2_NAME_MAX 16 //二四线名称长度
#define SERIAL_VALUE_LENGTH 196 //串口发数有效长度(包括效验和)
#define SERIAL_MAX_LENGTH 200 //串口发数有效长度(包括效验和)
#define SERIAL_MAX_L_COMMAND 22 //串口发数的单命令字最大长度(包括效验和)
#define SERIAL_MIX_L_COMMAND 2 //串口发数的单命令字最小长度
#define PAGE 0xff
/*识别板号*/
#define CLK_FLAG 1 //时钟板标志
#define AUDIO_MIX_FLAG 2 //混音板标志
#define AUDIO_DTMF_FLAG 3 //提示音板标志
#define REPLACE_FLAG 4 //倒换板标志
#define DT_FLAG 5 //数字中继板标志
#define AT2_FLAG 6 //二线板标志
#define AT4_FLAG 7 //四线板标志
#define TRK_LC_FLAG 8 //环路板标志
/*MT_90826 操作应用命令子*/
#define CR 0x0000
#define FAR 0x0001
#define DOS0 0x0002
#define DOS1 0x0003
#define DOS2 0x0004
#define DOS3 0x0005
#define DOS4 0x0006
#define DOS5 0x0007
#define DOS6 0x0008
#define DOS7 0x0009
#define FOR0 0x000a
#define FOR1 0x000b
#define FOR2 0x000c
#define FOR3 0x000d
#define BISR 0x0010
#define BECR 0x0011
/*判断标记*/
#define RIGHT 1 //正确
#define ERROR 0 //错误
#define OCCUPY 0x04 //占用
#define LEISURE 0 //空闲
#define TRUE 1 //是
#define FALSE 0 //否
#define RESEND 0x08 //位3
#define BIT0 0x01 //位0
#define BIT1 0x02 //位1
#define BIT2 0x04 //位2
#define BIT3 0x08 //位3
#define BIT4 0x10 //位4
#define BIT5 0x20 //位5
#define BIT6 0x40 //位6
#define BIT7 0x80 //位7
#define BIT0_1 0x03 //位0_1
#define BIT0_2 0x07 //位0_2
#define BIT0_4 0x0f //位0_3
#define FLAG_300MS 0x07 //300ms标记
#define FLAG_1S 21 //1s标记
/*24c1024分配*/
//标记
#define IP_FLAG 0x01 //ip地址读取标记
#define ACCOUNT_FLAG 0x02 //操作员帐号读取标记
#define R_PHONE_FLAG 0x03 //回呼号码读取标记
#define AT4_NAME_FLAG 0x04 //四线中文名读取标记
#define DT_FLAG 0x05 //时隙状态读取标记
#define ACCOUNT_FLAG 5055 //大于他即在第二章
//地址
#define SETUP_ADDR 0 //设置员帐号地址(2字节)
#define MANAGER_ADDR 2 //3各管理员帐号地址(6字节)
#define TRK_MODE_ADDR 8 //环路工作模式存储地址(1字节)
#define DT_MODE_ADDR 9 //中继工作模式存储地址(1字节)
#define TIME_ADDR 10 //时钟跟踪地址(1字节,高4位为板位,底4位为路数)
#define AUDIO_ADDR 11 //语控参考门限电平
#define IP_ADDR 12 //(ip地址 + 端口号) * 4路 = 24字节(12--35)
#define AT4_WRITE_COUNT 36 //已记录二/四线中文名的数量(2字节)
#define USEING_WRITE_COUNT 38 //已记录回呼号码的数量(2字节)
#define DT_STATE_ADDR 0x100 //时隙状态存储首地址(由256字节以后存储)(暂时只后用两位00 关中继, 01入中继,10出中继;3072路时隙(00x100--0xcff))
#define AT4_NAME_ADDR 0xd00 //二/四线中文名(96(满配96路) * 16(8个汉字内码) == 1536字节(0xd00 - 0x12ff))
//之前共用4.75k
#define USEING_ADDR 0x1300 //操作员管理记录(帐号(2字节) + 回呼号码(9字节) + 是否欠费(1字节) * 10000) = 118 * 1024即118k
//共剩(128 - 118 - 4.75) = 5.25k
#define R_PHONE_MIX 440 //回呼号码管理记录(5.25 * 1024 /(帐号(2字节) + 回呼号码(9字节) + 预留(1字节) = 448
/*24c1024分配*/
/*地址操作*/
#define WADDRL_90826 0x20 //写90826高位地址
#define WADDRH_90826 0x22 //写90826低位地址
#define RADDRL_90826 0x24 //读90826高位地址
#define RADDRH_90826 0x26 //读90826低位地址
#define ST16C554A 0x28 //写串口1连接后台地址
#define ST16C554B 0x2c //写串口2两串口之间通讯地址
#define DHJ_CLK_MASTER 0x3c //主用时钟板地址
#define DHJ_CLK_SLAVE 0x3d //主用时钟板地址
#define DHJ_AUDIO_MIX 0x3e //语控混音板地址
#define DHJ_AUDIO_DTMF 0x3f //提示音板地址
#define DHJ_DT 0x30 //数字中继板首地址,以后每板加1
#define EPROM_SLA_ADDR 0xA0 //24C1024的I2C地址
/*16c554操作应用命令子*/
#define DLL 0x00 //发送数据寄存器(写)
#define DLM 0x01 //中断使能寄存器(读)
#define RHR 0x00 //接收数据寄存器(读)
#define THR 0x00 //发送数据寄存器(写)
#define IER 0x01 //中断使能寄存器(读)
#define ISR 0x02 //中断状态寄存器(读)
#define FCR 0x02 //fifo控制寄存器(写)
#define LCR 0x03 //线路控制寄存器(写指定数据形式(停止位,奇,偶效验位等))
#define MCR 0x04 //工作模式控制寄存器(写)
#define LSR 0x05 //线路状态寄存器(读)
#define MSR 0x06
/*固定时隙操作*/
#define HEART 0x03 //正向心跳包
#define STATE_R 0x01 //正确回应
#define STATE_E 0x02 //错误回应
#define INF 0x00 //信息包
#define RECORD_SLOT 102 //提示音板提供的第一路提示音对应对应的8m时隙,以后每路对应102 + 路数 * 4
#define DTMF_RECEIVE_SLOT 94 //提示音板接受的第一路DTMF信号对应的8m时隙,以后每路对应102 + 路数 * 4
#define MIKE_SLOT 100 //话筒供音对应8m时隙
#define SOUND_BOX_SLOT 92 //音箱听音对应8m时隙
#define AT4_MIX_SEND 104 //四线(96)上传对应时隙
#define AT4_MIX_RECEIVE 96 //四线(96)听音对应时隙
#define RECORD_MIX_SLOT 108 //混音板提示音对应时隙
#define CHECK_SLOT 100 //检测时隙
#define DTMF_SEND_SLOT 22 //dtmt发号800hz音,1^12,450hz音,步进为8
#define HW30 30 //8mHW30
#define HW31 31 //8mHW31
/*位变量操作*/
sbit RUN_LED = P3^5; //aduc841 运行灯
sbit RST = P3^4; //aduc841 复位
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -