⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 chat.h

📁 这是电信语音聊天设备的源码
💻 H
字号:
/****************变量声明**************/

unsigned int xdata iii;
struct user_e1_define //数字中继用户
{
	unsigned char type;
	//数字中继用户类型 1:为入中继 0:为出中继
	unsigned char mfc;   
	//数字中继用户占用MFC通道号
	unsigned char dtmf;
	//数字中继用户占用DTMF通道号
	unsigned char opp_num;
	//数字中继用户在私聊室里对方的中继线号
	unsigned char wait;
	//等待后台处理
	unsigned char false;														
	//数字中继呼叫失败次数
	unsigned char backward_signal;
	//数字中继用户后向线路信号
	unsigned char forward_signal;
	//数字中继用户前向线路信号
	unsigned char flag;	     
	//数字中继用户占用标志	
	unsigned char back_flag;
	//数字中继用户回呼标志
	unsigned char user_age;
	//数字中继用户对应年龄
	unsigned char opp_age;
	//数字中继用户要求私聊对象年龄
	unsigned char user_sex;
	//数字中继用户对应性别
	unsigned char opp_sex;
	//数字中继用户要求私聊对象性别
	unsigned char telephone[32];
	//数字中继用户对应主叫号码(用于呼出)
	unsigned char user_index;
	//数字中继用户对应指针
	unsigned char password[6];
	//数字中继用户的密码聊天室密码
	unsigned char number_chat[6];
	//数字中继用户的聊天号
	unsigned char first_select;
	//数字中继用户的第一选择
	unsigned char a6_flag;
	//数字中继用户A6标志
	unsigned char kd;
	//数字中继用户对应kd信号
	unsigned char lc_state;  
	//数字中继用户呼入状态
	unsigned char mfc_state;  
	//数字中继用户MFC状态
	unsigned char user_state;  
	//数字中继用户选择状态
	unsigned char sub_status;														
	//数字中继用户主控命令
	unsigned char mfc_count;
	//数字中继用户对应MFC读次数
	unsigned char delay;	     
	//数字中继用户延时
	unsigned char control;
	//数字中继用户控制时间
	unsigned char chat_num;	     
	//数字中继用户对应聊天室号
	unsigned char chat_type;
	////数字中继用户对应聊天类型	
	unsigned char user_mix;
	//数字中继用户对应混合时隙
	unsigned char user_num;
	//数字中继用户对应聊天室中自己的号码
	unsigned char yukong_num;
	//数字中继用户对应语控单元
} xdata user_e1[TRK_MAX];
//数字中继用户

unsigned char xdata user_monitor_num;
//监视端口号

unsigned char xdata user_test_num;
//测试端口号

struct chat_common_define//公共聊天室
{
	unsigned char flag;
	//公共聊天室占用标志
	unsigned char user_count;
	//公共聊天室人数
	unsigned char type;
	//公共聊天室对应的逻辑聊天室类型
	unsigned char mt8924_slot[4];
	//公共聊天室对应8924的混合时隙
	unsigned char mt8924_user[4];
	//公共聊天室对应8924的混合时隙对应用户
	unsigned char user_num[16];
	//公共聊天室对应用户号
	unsigned char password[6];
	//公共聊天室对应的密码
} xdata chat_common_resource[GRP_MAX];
//公共聊天室

struct chat_number_define//老聊友回呼资源
{
	unsigned char user_num;
	//申请回呼的用户号
	unsigned char user_sex;
	//回呼用户的性别
	unsigned char user_age;
	//回呼用户的年龄
	unsigned char telephone[6];
	//回呼用户的电话号码
	unsigned char call_flag;
	//回呼标志
} xdata chat_number[64];

struct user_back_define//其他回呼资源
{
	unsigned char user_num;
	//申请回呼的用户号
	unsigned char user_sex;
	//回呼用户的性别
	unsigned char user_age;
	//回呼用户的年龄
	unsigned char opp_sex;
	//回呼用户要求的性别
	unsigned char opp_age;
	//回呼用户要求的年龄
	unsigned char chat_type;
	//回呼用选择的聊天室种类
	unsigned char telephone[6];
	//回呼用户的电话号码
	unsigned char password[6];
	//回呼用户密码聊天室密码
	unsigned char call_flag;
	//回呼标志
} xdata user_back[128];

unsigned char xdata chat_common_count;
//公共聊天室的剩余资源

struct chat_private_define//私人聊天室
{
	unsigned char flag;
	//私人聊天室占用标志
	unsigned char user_count;
	//私人聊天室人数
	unsigned char user_num[2];
	//私人聊天室对应用户号
} xdata chat_private_resource[64];
//私人聊天室

unsigned char xdata chat_private_count;
//私人聊天室剩余资源 

struct audio_dtmf_define//收号器和提示音资源
{
	unsigned char flag;
	//DTMF单元占用标志 0:空闲 1:占用 0xff:不在线
	unsigned char power_flag; 
	//1:等待上电结束 0:否
	unsigned char power_count;
	//上电计数器
	unsigned char num_set;
	//要放的段号
	unsigned char auto_flag;
	//DTMF单元自动放音标志
	unsigned char slot;
	//DTMF单元对应时隙号
	unsigned int addr;
	//DTMF单元对应地址
	unsigned char buf;
	//DTMF单元收到的数
	unsigned char num[8];
	//提示音单元对应段号
	unsigned char index;
	//提示音单元对应段指针
	unsigned char length;
	//提示音单元对应总段数
	unsigned char count;
	//提示音播放的次数
	unsigned char time;
	//提示音播放间隔
	unsigned char play;
	//提示音是否正在播放
	unsigned char delay;
	//DTMF单元对应延时
	unsigned char user;
	//DTMF单元对应的用户
} xdata audio_dtmf_resource[AUDIO_MAX];
//收号器和提示音资源

struct yukong_resource_define//语控资源
{
	unsigned char flag;
	//语控单元占用标志
	unsigned char slot;
	//语控单元对应时隙
	unsigned int addr;
	//语控单元地址
	unsigned char user;
	//语控单元对应用户
	unsigned char count;
	//语控单元状态计数
	unsigned char state;
	//语控单元对应状态
}xdata yukong_resource[AUDIO_MAX];//语控资源 

unsigned char yukong_count;
//语控资源剩余路数

unsigned char xdata audio_dtmf_count;
//剩余提示音资源

unsigned char xdata dtmf_test_num;
//DTMF测试通道号

unsigned char xdata audio_test_num;
//提示音测试通道号

unsigned char xdata test_duan_num;
//测试段号

struct chat_mfc_define //MFC资源
{
	unsigned char flag;
	//MFC占用标志 0:空闲 1:占用
	unsigned char buf[2];
	//各路后向MFC数据
	unsigned char buf_p;
	//各路后项MFC数据指针
	unsigned int addr;
	//MFC地址
	unsigned char slot;
	//MFC时隙
	unsigned char delay;
	//MFC单元对应延时
	unsigned char user;
	//MFC单元对应的用户
} xdata chat_mfc_resource[2];
//MFC资源

unsigned char xdata mfc_count;
//剩余MFC资源

unsigned char xdata mfc_test_num;
//MFC测试通道号

unsigned int const xdata audio_duan_addr[53] =
{0,4,8,12,16,20,24,28,32,36,40,107,127,141,153,163,173,226,242,281,
 289,300,310,321,333,340,344,358,378,387,393,400,405,421,436,443,
 450,456,462,468,475,499,514,540,552,557,570,578,586,592,602,609,619
};
//存放ISD4002中的段地址

unsigned char const xdata dtmf_send_slot[14] =
{0xc4,0xc6,0xc8,0xca,0xcc,0xce,0xd0,0xd2,0xd4,0xd6,0xd8,0xda,0xdc,0xde};
//双音多频时隙表
//分别存储800Hz测试音、1~12、
//450Hz测试音的双音多频数据

bit rv0_flag;				
//串口接收提0标志

unsigned char xdata trk_e1_led;	
//数字中继板指示灯状态

unsigned int xdata sdbt,sdbh,rvbh,rvbt;
//发送、接收头尾指针

unsigned char xdata trk;																		
//呼叫处理中当前中继号

unsigned char xdata sdbuf[SDB_LEN];																
//发送缓冲区

unsigned char xdata rvbuf[RVB_LEN];																
//接收缓冲区

unsigned char xdata p_data[16];																	
//接收后台数据缓冲区

unsigned char xdata tone_set;																	
//MT8924混音增益控制

unsigned char xdata ID_num_length;
//虚拟主叫号长度

unsigned char xdata LAN_num_length;
//局向号长度

unsigned char xdata id_call[16];																	
//主叫虚拟号

unsigned char xdata sys_temp[TRK_MAX];	
//察看变量

unsigned char xdata time_counter;
//用于一分钟定时器

unsigned char xdata second;
//主程序计时

bit t50_flag;
//50ms中断标志

bit t100_flag;
//100ms中断标志

unsigned char const xdata DTMF_SLOT[4] 
= {0xc5,0xc6,0xc7,0xc8};									
//四路DTMF收号时隙

unsigned int const xdata DTMF_ADDR[4] 
= {0xdc04,0xdc05,0xdc06,0xdc07};							
//四路DTMF收号器地址

unsigned char xdata send_frame[150];															
//发送HDLC帧

unsigned char xdata ns,nr,vs,vr;																
//发送、接收序号

unsigned char xdata send_data_start;															
//发送数据头指针

unsigned char xdata send_data_length;															
//发送数据长度

unsigned char xdata send_inf_flag;																
//发送信息帧标志

unsigned char xdata send_ctrl_byte;																
//发送控制字节

unsigned char xdata send_77_count;																
//信息帧中77的个数

unsigned int xdata rv_start;																	
//HDLC接收头指针

unsigned int xdata rv_end;																		
//HDLC接收尾指针

unsigned char xdata rv_ctrl_byte;																
//HDLC接收控制字节

unsigned char xdata rv_state;																	
//接收状态

bit rv_err;																						
//接收错误标志

bit decode_flag;																				
//解帧标志

unsigned char xdata send_count;																	
//成功解帧计数

unsigned char xdata send_RR[6];																	
//强制RR帧发送

bit voltage_low_flag;																			
//电压过低标志

bit time_flag;																					
//时钟跟踪标志

unsigned char xdata time_route;																	
//时钟跟踪路数

unsigned int const xdata DS21554_ADDR[4] = 
{0xc000,0xc100,0xc200,0xc300};						
//DS21554地址

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -