📄 communication.lst
字号:
C51 COMPILER V7.06 COMMUNICATION 11/15/2007 09:02:23 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE COMMUNICATION
OBJECT MODULE PLACED IN Communication.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE Communication.c OPTIMIZE(2,SIZE) BROWSE NOAREGS DEBUG OBJECTEXTEND
stmt level source
1 /***************************************************************************
2 //Actpro International (SZ) Ltd
3 //Project :
4 //File :SoundInTel.c Compiler:Keil
5 //Editor: LIUYI
6 //Data: 06-01-04 Ver:
7 //General Function
8
9 */
10 #include <switch.h>
11 xdata UCHAR ExtComGroup[COMMUNICATIONGROUPNUM][ExtComGroup_length] _at_ 0;
12 xdata UCHAR MessageGroup[MESSAGEGROUPNUMBER][MessageGroup_length] _at_ 80;
13 xdata UCHAR ExtTelState[ExtTelNum] _at_ 130;
14 xdata UCHAR ExtTelTime [ExtTelNum] _at_ 140;
15 xdata UCHAR OutTelState[OUTSIDETELNUM ] _at_ 150;
16 xdata UCHAR CID[CIDLENGTH] _at_ 230;
17
18 void CommunicationInit();
19 void WriteExtComGroup(UCHAR x,UCHAR y,UCHAR wData);
20 UCHAR ReadExtComGroup(UCHAR x,UCHAR y);
21 void WriteMessageGroup(UCHAR x,UCHAR y,UCHAR wData);
22 UCHAR ReadMessageGroup(UCHAR x,UCHAR y);
23 void SendUnholdMessage(UCHAR exttelnum);
24 void MessageDeal();
25 UCHAR CreateExtComGroup(UCHAR origin_call);
26 void ClearAMessage(UCHAR messageID);
27 void SendDecodeMessage(UCHAR exttelnum,UCHAR decode_data_length, UCHAR dtmfnum);
28 void SendHoldMessage(UCHAR exttelnum);
29 void ClearAComGroup(UCHAR comgroupID);
30 void SendOutsideCallInMessage(UCHAR linenum, UCHAR ringnum);
31 void WriteExtTelState(UCHAR num, UCHAR teldata);
32 UCHAR ReadExtTelState(UCHAR num);
33 void WriteCID(UCHAR num, UCHAR teldata);
34 UCHAR ReadCID(UCHAR num);
35 void ResResume(); //系统资源归原
36
37 UCHAR ReadExtTelTime(UCHAR num);
38 void WriteExtTelTime(UCHAR num, UCHAR time);
39 void ExtTimeDeal();
40 void exttel_hold_deal(UCHAR telnum);
41 void exttel_unhold_deal(UCHAR telnum);
42 void exttel_dialing_deal(UCHAR telnum);
43 UCHAR findextcomgroupbyorigin(UCHAR telnum);
44 UCHAR findextcomgroupbyobject(UCHAR telnum);
45 UCHAR testextcomgroup_inside();
46 void CreatExtComGroupByID(UCHAR extcomgroupID,UCHAR origin, UCHAR object, UCHAR type);
47 void exttel_sendCID_deal(UCHAR telnum);
48 void exttel_waiting_deal(UCHAR telnum);
49 void exttel_ring_deal(UCHAR telnum);
50 void exttel_error_deal(UCHAR telnum);
51 void exttel_useing_deal(UCHAR telnum);
52 UCHAR ReadOutTelState(UCHAR num);
53 void WriteOutTelState(UCHAR num, UCHAR teldata);
54 void outtel_hold_deal(UCHAR outtelnum);
55 UCHAR testoutline(UCHAR outtelnum);
C51 COMPILER V7.06 COMMUNICATION 11/15/2007 09:02:23 PAGE 2
56 void outtel_ring_deal(UCHAR outtelnum);
57 void outtel_using_deal(UCHAR outtelnum);
58 void time_exttel_unhold_deal(UCHAR telnum);
59 void exttel_flash_deal(UCHAR telnum);
60 void exttel_switch_deal(UCHAR telnum);
61 void time_exttel_flash_deal(UCHAR telnum);
62 void exttel_switch_dialing_deal(UCHAR telnum);
63 void exttel_switch_dialing_error_deal(UCHAR telnum);
64 void TakeTheRingPhone(UCHAR telnum);
65
66 idata UCHAR PORT_STORE;
67 idata UCHAR RawMessageNum; //记忆未处理的消息数目
68
69 const UCHAR MACHINE_ID[8]=
70 {
71 1 ,2 ,3 ,4 ,5 ,6 ,7 ,8 , //分机编号
72 };
73 const UCHAR OUTSIDELINE_ID[2]=
74 {
75 0x11,0x12 //外线ID编号
76 };
77
78 #define EXTTELTIME_30S 150
79 #define EXTTELTIME_5S 25
80 #define EXTTELTIME_1S 5
81
82 void CommunicationInit()
83 {
84 1 idata UCHAR i,j;
85 1
86 1 dialog_open=0; //楼宇对讲初始化
87 1 dialog_take=0;
88 1 dialog_call=0;
89 1 WriteExtTelState(DIALOG_STATE,DIALOG_STATE_NONE); //初始化楼宇对讲状态
90 1
91 1 for(i=0;i<COMMUNICATIONGROUPNUM;i++)
92 1 {
93 2 for(j=0;j<ExtComGroup_length;j++)
94 2 {
95 3 WriteExtComGroup(i,j,0);
96 3 }
97 2 }
98 1
99 1 for(i=0;i<MESSAGEGROUPNUMBER;i++)
100 1 {
101 2 for(j=0;j<MessageGroup_length;j++)
102 2 {
103 3 WriteMessageGroup(i,j,0);
104 3 }
105 2 }
106 1 RawMessageNum=0;
107 1
108 1 for(i=0;i<ExtTelNum;i++)
109 1 {
110 2 WriteExtTelState(i,exttel_hold);
111 2 ReadExtTelTime(i); //分机时间初始化
112 2 WriteExtTelTime(i,0);
113 2 }
114 1
115 1 for(i=0;i<OUTSIDETELNUM;i++)
116 1 {
117 2 WriteOutTelState(i,outtel_hold);
C51 COMPILER V7.06 COMMUNICATION 11/15/2007 09:02:23 PAGE 3
118 2 ReadOutTelState(i);
119 2 }
120 1
121 1 for(i=0;i<CIDLENGTH;i++)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -