📄 cmdprocess.lst
字号:
C51 COMPILER V7.50 CMDPROCESS 04/03/2007 10:38:49 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE CMDPROCESS
OBJECT MODULE PLACED IN CmdProcess.obj
COMPILER INVOKED BY: E:\Keil\C51\BIN\C51.EXE IIC[Ultral]\CmdProcess.c BROWSE DEBUG OBJECTEXTEND PRINT(.\CmdProcess.lst)
-OBJECT(CmdProcess.obj)
line level source
1 #include "iic.h"
2 //2007-3-21 20:40
3 //2007-3-29 20:03
4
5 #define GET(x) RecBuf[(x)+3]
6 //#define MsgErr() {UART_Ack(REC_OK);return;}
7 #define ASSERT(x,y) {if(RecBuf[(x)+3]>=(y)) {UART_Ack(REC_OK);return;}}
8 //在CmdProcess中使用的宏:保证x<y,否则发送数据出错信息并退出该函数。
9 unsigned char CheckCRC()
10 {
11 1 unsigned char xdata i,k;
12 1 i=RecCnt-2;//CRC位置
13 1 k=RecBuf[i-1];
14 1 while(i)
15 1 {
16 2 i--;
17 2 k=k^RecBuf[i];
18 2 }
19 1 i=RecCnt-2;//CRC位置
20 1 if(k==RecBuf[i])
21 1 return(1);
22 1 else
23 1 return(0);
24 1 }
25
26
27
28 void CmdProcess()
29 {
30 1 unsigned int xdata i,k;
31 1 if((RecBuf[0]!=MacAddr)&&(RecBuf[0]!=0x00))
32 1 return;//非本机且非广播,返回
33 1 i=CheckCRC();
34 1 if(i==0)
35 1 {//CRC出错
36 2 UART_Ack(REC_CRC_ERR);
37 2 return;
38 2 }
39 1 switch(RecBuf[2])//信息部
40 1 {
41 2 case CMD_IDT://绿色通道
42 2 {
43 3 ASSERT(0,9)
44 3 i=GET(0);
45 3 if(i==0)
46 3 {//禁止通道
47 4 MeterSta=MSTA_AUTO;
*** ERROR C202 IN LINE 47 OF IIC[ULTRAL]\CMDPROCESS.C: 'MeterSta': undefined identifier
48 4 HourUpdate();//更新所有
49 4 PhaseSwitch();
50 4 }
51 3 else if(i<=8)
52 3 {
53 4 i-=1;
C51 COMPILER V7.50 CMDPROCESS 04/03/2007 10:38:49 PAGE 2
54 4 MeterSta=MSTA_GREENWAY;
*** ERROR C202 IN LINE 54 OF IIC[ULTRAL]\CMDPROCESS.C: 'MeterSta': undefined identifier
55 4 CheDaoBuf[2]=GreenWay[i][0];
56 4 CheDaoBuf[1]=GreenWay[i][1];
57 4 CheDaoBuf[0]=GreenWay[i][2];
58 4 SecondCnt=0;
59 4 }
60 3 }
61 2 break;
62 2 case CMD_PHASE://相位
63 2 {
64 3 ASSERT(0,2)//方案号
65 3 ASSERT(1,12)//时段号
66 3 ASSERT(2,8)//相位号
67 3 ASSERT(6,255)//绿灯时间
68 3 ASSERT(7,255)//绿闪时间
69 3 i=GET(6);
70 3 k=GET(7);
71 3 if(i<k)//绿灯时间必需大于绿闪时间
72 3 {
73 4 UART_Ack(MSG_ERR);
74 4 return;
75 4 }
76 3 ASSERT(8,255)//YT
77 3 ASSERT(9,255)//RT
78 3 //存储相位
79 3 }
80 2 break;
81 2 case CMD_PHASE_GROUP://相位组
82 2 break;
83 2 case CMD_SYSTEM_TIME://设置时间
84 2 {
85 3 ASSERT(0,100)//年
86 3 ASSERT(1,13)//月
87 3 ASSERT(2,32)//日
88 3 ASSERT(3,24)//小时
89 3 ASSERT(4,60)//分钟
90 3 ASSERT(5,60)//秒
91 3 //
92 3
93 3 }
94 2 break;
95 2 case CMD_ADD_HOLIDAY://增加节假日
96 2 {
97 3 ASSERT(0,100)//年
98 3 ASSERT(1,13)//月
99 3 ASSERT(2,32)//日
100 3 }
101 2 break;
102 2 case CMD_DEL_HOLIDAY://删除节假日
103 2 {
104 3 ASSERT(0,100)//年
105 3 ASSERT(1,13)//月
106 3 ASSERT(2,32)//日
107 3 }
108 2 break;
109 2 case CMD_ENABLE_HOLIDAY://允许/禁止节假日
110 2 ASSERT(0,2)//
111 2 break;
112 2 case CMD_SET_NODE_ID://设置本机ID
113 2 {
114 3 ASSERT(0,255)//小于255,大于0
C51 COMPILER V7.50 CMDPROCESS 04/03/2007 10:38:49 PAGE 3
115 3 i=GET(0);
116 3 if(i==0)
117 3 {
118 4 UART_Ack(MSG_ERR);
119 4 return;
120 4 }
121 3 }
122 2 break;
123 2 case CMD_RESTORE://恢复系统默认
124 2 break;
125 2 default:
126 2 UART_Ack(MSG_ERR);
127 2 return;
128 2 }
129 1 UART_Ack(REC_OK);//信息正确解释
130 1 }
C51 COMPILATION COMPLETE. 0 WARNING(S), 2 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -