2025-12-16 16:59:36 +08:00
|
|
|
|
C51 COMPILER V9.01 UART_SET 12/16/2025 16:53:47 PAGE 1
|
2025-12-15 20:48:52 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
C51 COMPILER V9.01, COMPILATION OF MODULE UART_SET
|
|
|
|
|
|
OBJECT MODULE PLACED IN .\Objects\UART_Set.obj
|
|
|
|
|
|
COMPILER INVOKED BY: D:\Keil_v5\C51\BIN\C51.EXE UART_Set.c OPTIMIZE(8,SPEED) BROWSE DEBUG OBJECTEXTEND PRINT(.\Listings\
|
|
|
|
|
|
-UART_Set.lst) OBJECT(.\Objects\UART_Set.obj)
|
|
|
|
|
|
|
|
|
|
|
|
line level source
|
|
|
|
|
|
|
|
|
|
|
|
1 #include "UART_Set.h"
|
|
|
|
|
|
2 #include "UART.h"
|
|
|
|
|
|
3 #include "pwm_control.h"
|
|
|
|
|
|
4 #include "string.h"
|
|
|
|
|
|
5 #include "config.h"
|
|
|
|
|
|
6 #include "timer.h"
|
|
|
|
|
|
7 #include "STC8xxxx.h"
|
|
|
|
|
|
8 #include "PWM15bit.h"
|
|
|
|
|
|
9
|
|
|
|
|
|
10 G_Usart g_Usart;
|
|
|
|
|
|
11 G_answer g_answer;
|
|
|
|
|
|
12 S_recv s_recv;
|
|
|
|
|
|
13
|
|
|
|
|
|
14 u8 debug = 0x00;
|
|
|
|
|
|
15
|
2025-12-16 16:59:36 +08:00
|
|
|
|
16 /*
|
|
|
|
|
|
17 <20>жϽ<D0B6><CFBD>յ<EFBFBD>ָ<EFBFBD><D6B8><EFBFBD>Ƿ<EFBFBD><C7B7>Ϸ<EFBFBD>
|
|
|
|
|
|
18 */
|
|
|
|
|
|
19 void Usart_judge_Data(void)
|
|
|
|
|
|
20 {
|
|
|
|
|
|
21 1 u8 len = 0;
|
|
|
|
|
|
22 1 u8 i, sum;
|
|
|
|
|
|
23 1 sum = 0;
|
|
|
|
|
|
24 1 g_Usart.ok_flag = 0;
|
|
|
|
|
|
25 1
|
|
|
|
|
|
26 1 if((recv_start_flag==1)&&(systick_1ms-recv_time>8))
|
|
|
|
|
|
27 1 {
|
|
|
|
|
|
28 2 recv_start_flag=0;
|
|
|
|
|
|
29 2 #if DEBUG_
|
2025-12-15 20:48:52 +08:00
|
|
|
|
{
|
|
|
|
|
|
for(i=0;i<COM1.RX_Cnt;i++)
|
|
|
|
|
|
{
|
|
|
|
|
|
g_Usart.recv_buffer[i]=RX1_Buffer[i];
|
|
|
|
|
|
}
|
|
|
|
|
|
COM1.RX_Cnt = 0;
|
|
|
|
|
|
memset(RX1_Buffer,0,sizeof(RX1_Buffer));
|
|
|
|
|
|
}
|
|
|
|
|
|
#else
|
2025-12-16 16:59:36 +08:00
|
|
|
|
39 2 {
|
|
|
|
|
|
40 3 len = COM3.RX_Cnt;
|
|
|
|
|
|
41 3 for(i=0;i<COM3.RX_Cnt;i++)
|
|
|
|
|
|
42 3 {
|
|
|
|
|
|
43 4 g_Usart.recv_buffer[i]=RX3_Buffer[i];
|
|
|
|
|
|
44 4 }
|
|
|
|
|
|
45 3 COM3.RX_Cnt = 0;
|
|
|
|
|
|
46 3 memset(RX3_Buffer,0,sizeof(RX3_Buffer));
|
|
|
|
|
|
47 3 // if(debug) Printbuffer1(g_Usart.recv_buffer,11);
|
|
|
|
|
|
48 3 }
|
|
|
|
|
|
49 2 #endif
|
|
|
|
|
|
50 2
|
|
|
|
|
|
51 2 for (i = 0; i < g_Usart.recv_buffer[UART_FMT_LEN]; i++)
|
|
|
|
|
|
52 2 {
|
|
|
|
|
|
53 3 sum += g_Usart.recv_buffer[i];
|
|
|
|
|
|
54 3 }
|
|
|
|
|
|
C51 COMPILER V9.01 UART_SET 12/16/2025 16:53:47 PAGE 2
|
2025-12-15 20:48:52 +08:00
|
|
|
|
|
2025-12-16 16:59:36 +08:00
|
|
|
|
55 2 if (sum == 0xff)
|
|
|
|
|
|
56 2 {
|
|
|
|
|
|
57 3 if(len == g_Usart.recv_buffer[UART_FMT_LEN])
|
|
|
|
|
|
58 3 {
|
|
|
|
|
|
59 4 if ((g_Usart.recv_buffer[UART_FMT_ADDR_RX] == ADDR_RX) && (g_Usart.recv_buffer[UART_FMT_DEV_TYPE] == D
|
2025-12-15 20:48:52 +08:00
|
|
|
|
-EV_TYPE))
|
2025-12-16 16:59:36 +08:00
|
|
|
|
60 4 {
|
|
|
|
|
|
61 5 g_Usart.Sn = g_Usart.recv_buffer[UART_FMT_TYPE]&0x0F;
|
|
|
|
|
|
62 5
|
|
|
|
|
|
63 5 if ((g_Usart.recv_buffer[UART_FMT_TYPE] & 0x40) == 0x00) //<2F><><EFBFBD>кż<D0BA><C5BC>飬<EFBFBD><EFBFBD>
|
|
|
|
|
|
64 5 {
|
|
|
|
|
|
65 6 g_Usart.ok_flag = 1; //<2F><EFBFBD><D7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
66 6 }
|
|
|
|
|
|
67 5 else //<2F><><EFBFBD>к<EFBFBD>Ϊ<EFBFBD>ط<EFBFBD><D8B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Σ<EFBFBD>
|
2025-12-15 20:48:52 +08:00
|
|
|
|
-<2D><><EFBFBD><EFBFBD>Ӧ<EFBFBD>øı<C3B8><C4B1><EFBFBD><EFBFBD>к<EFBFBD>
|
2025-12-16 16:59:36 +08:00
|
|
|
|
68 5 {
|
|
|
|
|
|
69 6 if (g_Usart.Sn == g_Usart.lastsn)
|
|
|
|
|
|
70 6 {
|
|
|
|
|
|
71 7 g_Usart.ok_flag = 0;
|
|
|
|
|
|
72 7 g_answer.short_answer[UART_FMT_CMD]=0xF0;
|
|
|
|
|
|
73 7 g_answer.short_answer_flag=0x01;
|
|
|
|
|
|
74 7 }
|
|
|
|
|
|
75 6 else
|
|
|
|
|
|
76 6 {
|
|
|
|
|
|
77 7 g_Usart.ok_flag = 1;
|
|
|
|
|
|
78 7 }
|
|
|
|
|
|
79 6 }
|
|
|
|
|
|
80 5 g_Usart.lastsn = g_Usart.Sn;
|
|
|
|
|
|
81 5 }
|
|
|
|
|
|
82 4 }
|
|
|
|
|
|
83 3 }
|
|
|
|
|
|
84 2 }
|
|
|
|
|
|
85 1 }
|
|
|
|
|
|
86
|
|
|
|
|
|
87 void Usart_Deal_Data(void)
|
|
|
|
|
|
88 {
|
|
|
|
|
|
89 1 u8 i;
|
|
|
|
|
|
90 1 if(g_Usart.ok_flag)
|
|
|
|
|
|
91 1 {
|
|
|
|
|
|
92 2 if(debug)
|
|
|
|
|
|
93 2 {
|
|
|
|
|
|
94 3 PrintString1("data ok");
|
|
|
|
|
|
95 3 }
|
|
|
|
|
|
96 2 switch(g_Usart.recv_buffer[UART_FMT_CMD])
|
|
|
|
|
|
97 2 {
|
|
|
|
|
|
98 3 //<2F><>ѯ״̬<D7B4><CCAC><EFBFBD><EFBFBD>
|
|
|
|
|
|
99 3 case USART_CMD_QUEST:
|
|
|
|
|
|
100 3 if(debug)
|
|
|
|
|
|
101 3 {
|
|
|
|
|
|
102 4 PrintString1("ask");
|
|
|
|
|
|
103 4 }
|
|
|
|
|
|
104 3 g_answer.long_answer[UART_FMT_CMD]=USART_CMD_QUEST_A;
|
|
|
|
|
|
105 3 g_answer.long_answer_flag=0x01;
|
|
|
|
|
|
106 3 break;
|
|
|
|
|
|
107 3 //<2F><><EFBFBD>ðٷֱ<D9B7><D6B1><EFBFBD><EFBFBD><EFBFBD>ֵ
|
|
|
|
|
|
108 3 case USART_CMD_SET_BRIGHTNESS:
|
|
|
|
|
|
109 3 g_answer.short_answer[UART_FMT_CMD]=USART_CMD_SET_BRIGHTNESS_A;
|
|
|
|
|
|
110 3 if(debug)
|
|
|
|
|
|
111 3 {
|
|
|
|
|
|
112 4 PrintString1("percent");
|
|
|
|
|
|
113 4 }
|
|
|
|
|
|
114 3 //<2F><>һ<EFBFBD><D2BB>ʹ<EFBFBD><CAB9>λ
|
|
|
|
|
|
C51 COMPILER V9.01 UART_SET 12/16/2025 16:53:47 PAGE 3
|
2025-12-15 20:48:52 +08:00
|
|
|
|
|
2025-12-16 16:59:36 +08:00
|
|
|
|
115 3 for (i = 0; i < 8; i++)
|
|
|
|
|
|
116 3 {
|
|
|
|
|
|
117 4 if (g_Usart.recv_buffer[7] & (1 << i))
|
|
|
|
|
|
118 4 {
|
|
|
|
|
|
119 5 s_recv.flag1[i] = 1;
|
|
|
|
|
|
120 5 s_recv.flag2[i] = 0;
|
|
|
|
|
|
121 5 s_recv.B_Ch[i] = g_Usart.recv_buffer[21 - i];
|
|
|
|
|
|
122 5
|
|
|
|
|
|
123 5 if (s_recv.B_Ch[i] < s_recv.B_min)
|
|
|
|
|
|
124 5 {
|
|
|
|
|
|
125 6 s_recv.B_Ch[i] = s_recv.B_min;
|
|
|
|
|
|
126 6 }
|
|
|
|
|
|
127 5
|
|
|
|
|
|
128 5 if (s_recv.B_Ch[i] > s_recv.B_max)
|
|
|
|
|
|
129 5 {
|
|
|
|
|
|
130 6 s_recv.B_Ch[i] = s_recv.B_max;
|
|
|
|
|
|
131 6 }
|
|
|
|
|
|
132 5
|
|
|
|
|
|
133 5 s_pwm.wanttopwm[i] = PWM_MAX_VALUE - s_recv.B_Ch[i] * PWM_MAX_VALUE * s_recv.global_
|
2025-12-15 20:48:52 +08:00
|
|
|
|
-brightness / 100 / 100 * s_recv.key_status[i];
|
2025-12-16 16:59:36 +08:00
|
|
|
|
134 5 s_pwm.doublecurrpwm[i] = s_pwm.currpwm[i]; //<2F><><EFBFBD>µ<EFBFBD><C2B5><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC>
|
|
|
|
|
|
135 5
|
|
|
|
|
|
136 5 s_recv.gradual_time[i] = g_Usart.recv_buffer[9] * 10; /*<2A><><EFBFBD>յĽ<D5B5><C4BD><EFBFBD>ʱ<EFBFBD><CAB1>*/
|
|
|
|
|
|
137 5 /*
|
|
|
|
|
|
138 5 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>
|
|
|
|
|
|
139 5 */
|
|
|
|
|
|
140 5 if (s_recv.gradual_time[i] == 0)
|
|
|
|
|
|
141 5 {
|
|
|
|
|
|
142 6 s_recv.gradual_time[i] = 1;
|
|
|
|
|
|
143 6 }
|
|
|
|
|
|
144 5
|
|
|
|
|
|
145 5 /*<2A><><EFBFBD><EFBFBD>10ms<6D><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD>pwm<77><6D><EFBFBD><EFBFBD>ֵ*/
|
|
|
|
|
|
146 5 if (s_pwm.wanttopwm[i] > s_pwm.currpwm[i])
|
|
|
|
|
|
147 5 {
|
|
|
|
|
|
148 6 s_pwm.every_change_10ms[i] = (float)(s_pwm.wanttopwm[i] - s_pwm.currpwm[i]) / s_
|
2025-12-15 20:48:52 +08:00
|
|
|
|
-recv.gradual_time[i];
|
2025-12-16 16:59:36 +08:00
|
|
|
|
149 6 if (s_pwm.every_change_10ms[i] < 1)
|
|
|
|
|
|
150 6 {
|
|
|
|
|
|
151 7 s_pwm.every_change_10ms[i] = 1;
|
|
|
|
|
|
152 7 }
|
|
|
|
|
|
153 6 }
|
|
|
|
|
|
154 5
|
|
|
|
|
|
155 5 if (s_pwm.wanttopwm[i] < s_pwm.currpwm[i])
|
|
|
|
|
|
156 5 {
|
|
|
|
|
|
157 6 s_pwm.every_change_10ms[i] = (float)(s_pwm.currpwm[i] - s_pwm.wanttopwm[i]) / s_
|
2025-12-15 20:48:52 +08:00
|
|
|
|
-recv.gradual_time[i];
|
2025-12-16 16:59:36 +08:00
|
|
|
|
158 6 if (s_pwm.every_change_10ms[i] < 1)
|
|
|
|
|
|
159 6 {
|
|
|
|
|
|
160 7 s_pwm.every_change_10ms[i] = 1;
|
|
|
|
|
|
161 7 }
|
|
|
|
|
|
162 6 }
|
|
|
|
|
|
163 5 }
|
|
|
|
|
|
164 4 }
|
|
|
|
|
|
165 3
|
|
|
|
|
|
166 3 //<2F>ڶ<EFBFBD><DAB6><EFBFBD>ʹ<EFBFBD><CAB9>λ
|
|
|
|
|
|
167 3 for (i = 0; i < 4; i++)
|
|
|
|
|
|
168 3 {
|
|
|
|
|
|
169 4 if (g_Usart.recv_buffer[8] & (1 << i))
|
|
|
|
|
|
170 4 {
|
|
|
|
|
|
171 5 s_recv.flag1[i+8] = 1;
|
|
|
|
|
|
172 5 s_recv.flag2[i+8] = 0;
|
|
|
|
|
|
173 5 s_recv.B_Ch[i+8] = g_Usart.recv_buffer[13 - i];
|
|
|
|
|
|
C51 COMPILER V9.01 UART_SET 12/16/2025 16:53:47 PAGE 4
|
2025-12-15 20:48:52 +08:00
|
|
|
|
|
2025-12-16 16:59:36 +08:00
|
|
|
|
174 5
|
|
|
|
|
|
175 5 if (s_recv.B_Ch[i+8] < s_recv.B_min)
|
|
|
|
|
|
176 5 {
|
|
|
|
|
|
177 6 s_recv.B_Ch[i+8] = s_recv.B_min;
|
|
|
|
|
|
178 6 }
|
|
|
|
|
|
179 5
|
|
|
|
|
|
180 5 if (s_recv.B_Ch[i+8] > s_recv.B_max)
|
|
|
|
|
|
181 5 {
|
|
|
|
|
|
182 6 s_recv.B_Ch[i+8] = s_recv.B_max;
|
|
|
|
|
|
183 6 }
|
|
|
|
|
|
184 5
|
|
|
|
|
|
185 5 s_pwm.wanttopwm[i+8] = PWM_MAX_VALUE - s_recv.B_Ch[i+8] * PWM_MAX_VALUE * s_recv.g
|
2025-12-15 20:48:52 +08:00
|
|
|
|
-lobal_brightness / 100 / 100 * s_recv.key_status[i+8];
|
2025-12-16 16:59:36 +08:00
|
|
|
|
186 5 s_pwm.doublecurrpwm[i] = s_pwm.currpwm[i]; //<2F><><EFBFBD>µ<EFBFBD><C2B5><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC>
|
|
|
|
|
|
187 5
|
|
|
|
|
|
188 5 s_recv.gradual_time[i+8] = g_Usart.recv_buffer[9] * 10; /*<2A><><EFBFBD>յĽ<D5B5><C4BD><EFBFBD>ʱ<EFBFBD><CAB1>*/
|
|
|
|
|
|
189 5
|
|
|
|
|
|
190 5 /*
|
|
|
|
|
|
191 5 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>
|
|
|
|
|
|
192 5 */
|
|
|
|
|
|
193 5 if (s_recv.gradual_time[i+8] == 0)
|
|
|
|
|
|
194 5 {
|
|
|
|
|
|
195 6 s_recv.gradual_time[i+8] = 1;
|
|
|
|
|
|
196 6 }
|
|
|
|
|
|
197 5
|
|
|
|
|
|
198 5 /*<2A><><EFBFBD><EFBFBD>10ms<6D><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD>pwm<77><6D><EFBFBD><EFBFBD>ֵ*/
|
|
|
|
|
|
199 5 if (s_pwm.wanttopwm[i+8] > s_pwm.currpwm[i+8])
|
|
|
|
|
|
200 5 {
|
|
|
|
|
|
201 6 s_pwm.every_change_10ms[i+8] = (float)(s_pwm.wanttopwm[i+8] - s_pwm.currpwm[i+
|
2025-12-15 20:48:52 +08:00
|
|
|
|
-8]) / s_recv.gradual_time[i+8];
|
2025-12-16 16:59:36 +08:00
|
|
|
|
202 6 if (s_pwm.every_change_10ms[i+8] < 1)
|
|
|
|
|
|
203 6 {
|
|
|
|
|
|
204 7 s_pwm.every_change_10ms[i+8] = 1;
|
|
|
|
|
|
205 7 }
|
|
|
|
|
|
206 6 }
|
|
|
|
|
|
207 5
|
2025-12-15 20:48:52 +08:00
|
|
|
|
208 5
|
2025-12-16 16:59:36 +08:00
|
|
|
|
209 5 if (s_pwm.wanttopwm[i+8] < s_pwm.currpwm[i+8])
|
|
|
|
|
|
210 5 {
|
|
|
|
|
|
211 6 s_pwm.every_change_10ms[i+8] = (float)(s_pwm.currpwm[i+8] - s_pwm.wanttopwm[i
|
2025-12-15 20:48:52 +08:00
|
|
|
|
-+8]) / s_recv.gradual_time[i+8];
|
2025-12-16 16:59:36 +08:00
|
|
|
|
212 6 if (s_pwm.every_change_10ms[i+8] < 1)
|
|
|
|
|
|
213 6 {
|
|
|
|
|
|
214 7 s_pwm.every_change_10ms[i+8] = 1;
|
|
|
|
|
|
215 7 }
|
|
|
|
|
|
216 6 }
|
|
|
|
|
|
217 5 }
|
|
|
|
|
|
218 4 }
|
|
|
|
|
|
219 3
|
|
|
|
|
|
220 3 g_answer.short_answer_flag=0x01;
|
|
|
|
|
|
221 3 break;
|
|
|
|
|
|
222 3
|
2025-12-15 20:48:52 +08:00
|
|
|
|
223 3
|
2025-12-16 16:59:36 +08:00
|
|
|
|
224 3 //<2F><><EFBFBD><EFBFBD>ģʽ<C4A3><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݼ<EFBFBD><DDBC><EFBFBD>ѭ<EFBFBD><D1AD>
|
|
|
|
|
|
225 3 case USART_CMD_SET_MODE:
|
|
|
|
|
|
226 3 g_answer.short_answer[UART_FMT_CMD]=USART_CMD_SET_MODE_A;
|
|
|
|
|
|
227 3 if(debug)
|
|
|
|
|
|
228 3 {
|
|
|
|
|
|
229 4 PrintString1("change light");
|
|
|
|
|
|
230 4 }
|
|
|
|
|
|
231 3
|
|
|
|
|
|
232 3 for (i = 0; i < 8; i++)
|
|
|
|
|
|
C51 COMPILER V9.01 UART_SET 12/16/2025 16:53:47 PAGE 5
|
2025-12-15 20:48:52 +08:00
|
|
|
|
|
2025-12-16 16:59:36 +08:00
|
|
|
|
233 3 {
|
|
|
|
|
|
234 4 if (g_Usart.recv_buffer[7] & (1 << i))
|
|
|
|
|
|
235 4 {
|
|
|
|
|
|
236 5 s_recv.flag1[i] = 0;
|
|
|
|
|
|
237 5 s_recv.flag2[i] = 1;
|
|
|
|
|
|
238 5 s_recv.mode[i] = g_Usart.recv_buffer[9];
|
|
|
|
|
|
239 5 s_recv.pwm_step[i] = g_Usart.recv_buffer[11];
|
|
|
|
|
|
240 5
|
|
|
|
|
|
241 5 if (s_recv.mode[i] == 0x00)
|
|
|
|
|
|
242 5 {
|
|
|
|
|
|
243 6 if (g_Usart.recv_buffer[10] == 0x00)
|
|
|
|
|
|
244 6 {
|
|
|
|
|
|
245 7 s_recv.forward[i] = 0;
|
|
|
|
|
|
246 7 }
|
|
|
|
|
|
247 6
|
|
|
|
|
|
248 6 if (g_Usart.recv_buffer[10] == 0x01)
|
|
|
|
|
|
249 6 {
|
|
|
|
|
|
250 7 s_recv.forward[i] = 1;
|
|
|
|
|
|
251 7 }
|
|
|
|
|
|
252 6
|
|
|
|
|
|
253 6 if (g_Usart.recv_buffer[10] == 0x02) //<2F><>ת
|
|
|
|
|
|
254 6 {
|
|
|
|
|
|
255 7 if (s_recv.forward[i] == 0x01)
|
|
|
|
|
|
256 7 {
|
|
|
|
|
|
257 8 s_recv.forward[i] = 0x00;
|
|
|
|
|
|
258 8 continue; // Ϊ<><CEAA>ֹ<EFBFBD><D6B9>ת֮<D7AA><D6AE>ֱ<EFBFBD>ӽ<EFBFBD><D3BD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>״̬
|
|
|
|
|
|
259 8 }
|
|
|
|
|
|
260 7
|
|
|
|
|
|
261 7 if (s_recv.forward[i] == 0x00)
|
|
|
|
|
|
262 7 {
|
|
|
|
|
|
263 8 s_recv.forward[i] = 0x01;
|
|
|
|
|
|
264 8 continue;
|
|
|
|
|
|
265 8 }
|
|
|
|
|
|
266 7 }
|
|
|
|
|
|
267 6 }
|
|
|
|
|
|
268 5 }
|
|
|
|
|
|
269 4 }
|
|
|
|
|
|
270 3
|
2025-12-15 20:48:52 +08:00
|
|
|
|
271 3
|
2025-12-16 16:59:36 +08:00
|
|
|
|
272 3 for (i = 0; i < 4; i++)
|
|
|
|
|
|
273 3 {
|
|
|
|
|
|
274 4 if (g_Usart.recv_buffer[8] & (1 << i))
|
|
|
|
|
|
275 4 {
|
|
|
|
|
|
276 5 s_recv.flag1[i+8] = 0;
|
|
|
|
|
|
277 5 s_recv.flag2[i+8] = 1;
|
|
|
|
|
|
278 5 s_recv.mode[i+8] = g_Usart.recv_buffer[9];
|
|
|
|
|
|
279 5 s_recv.pwm_step[i+8] = g_Usart.recv_buffer[11];
|
|
|
|
|
|
280 5
|
|
|
|
|
|
281 5 if (s_recv.mode[i+8] == 0x00)
|
|
|
|
|
|
282 5 {
|
|
|
|
|
|
283 6 if (g_Usart.recv_buffer[10] == 0x00)
|
|
|
|
|
|
284 6 {
|
|
|
|
|
|
285 7 s_recv.forward[i+8] = 0;
|
|
|
|
|
|
286 7 }
|
|
|
|
|
|
287 6
|
|
|
|
|
|
288 6 if (g_Usart.recv_buffer[10] == 0x01)
|
|
|
|
|
|
289 6 {
|
|
|
|
|
|
290 7 s_recv.forward[i+8] = 1;
|
|
|
|
|
|
291 7 }
|
|
|
|
|
|
292 6
|
|
|
|
|
|
293 6 if (g_Usart.recv_buffer[10] == 0x02) //<2F><>ת
|
|
|
|
|
|
294 6 {
|
|
|
|
|
|
C51 COMPILER V9.01 UART_SET 12/16/2025 16:53:47 PAGE 6
|
2025-12-15 20:48:52 +08:00
|
|
|
|
|
2025-12-16 16:59:36 +08:00
|
|
|
|
295 7 if (s_recv.forward[i+8] == 0x01)
|
|
|
|
|
|
296 7 {
|
|
|
|
|
|
297 8 s_recv.forward[i+8] = 0x00;
|
|
|
|
|
|
298 8 continue; // Ϊ<><CEAA>ֹ<EFBFBD><D6B9>ת֮<D7AA><D6AE>ֱ<EFBFBD>ӽ<EFBFBD><D3BD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>״̬
|
|
|
|
|
|
299 8 }
|
|
|
|
|
|
300 7
|
|
|
|
|
|
301 7 if (s_recv.forward[i+8] == 0x00)
|
|
|
|
|
|
302 7 {
|
|
|
|
|
|
303 8 s_recv.forward[i+8] = 0x01;
|
|
|
|
|
|
304 8 continue;
|
|
|
|
|
|
305 8 }
|
|
|
|
|
|
306 7 }
|
|
|
|
|
|
307 6 }
|
|
|
|
|
|
308 5 }
|
|
|
|
|
|
309 4 }
|
|
|
|
|
|
310 3 g_answer.short_answer_flag=0x01;
|
|
|
|
|
|
311 3 break;
|
|
|
|
|
|
312 3
|
2025-12-15 20:48:52 +08:00
|
|
|
|
313 3
|
2025-12-16 16:59:36 +08:00
|
|
|
|
314 3 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
315 3 case USART_CMD_ALL_BRIGHTNESS:
|
|
|
|
|
|
316 3 g_answer.short_answer[UART_FMT_CMD]=USART_CMD_ALL_BRIGHTNESS_A;
|
|
|
|
|
|
317 3
|
|
|
|
|
|
318 3 if(debug)
|
|
|
|
|
|
319 3 {
|
|
|
|
|
|
320 4 PrintString1("global light");
|
|
|
|
|
|
321 4 }
|
|
|
|
|
|
322 3
|
|
|
|
|
|
323 3 // s_recv.changeflag = 1;
|
|
|
|
|
|
324 3 if (g_Usart.recv_buffer[7] & (1 << 5)) //ȫ<>ֿɵ<D6BF><C9B5><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
325 3 {
|
|
|
|
|
|
326 4 s_recv.B_min = g_Usart.recv_buffer[10];
|
|
|
|
|
|
327 4 for (i = 0; i < 12; i++)
|
|
|
|
|
|
328 4 {
|
|
|
|
|
|
329 5 if ( s_pwm.currvalue[i] < s_recv.B_min)
|
|
|
|
|
|
330 5 {
|
|
|
|
|
|
331 6 s_pwm.currvalue[i] = s_recv.B_min;
|
|
|
|
|
|
332 6 }
|
|
|
|
|
|
333 5 }
|
|
|
|
|
|
334 4 }
|
|
|
|
|
|
335 3
|
|
|
|
|
|
336 3 if (g_Usart.recv_buffer[7] & (1 << 6)) //ȫ<>ֿɵ<D6BF><C9B5><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
337 3 {
|
|
|
|
|
|
338 4 s_recv.B_max = g_Usart.recv_buffer[9];
|
|
|
|
|
|
339 4 for (i = 0; i < 12; i++)
|
|
|
|
|
|
340 4 {
|
|
|
|
|
|
341 5 if ( s_pwm.currvalue[i] > s_recv.B_max)
|
|
|
|
|
|
342 5 {
|
|
|
|
|
|
343 6 s_pwm.currvalue[i] = s_recv.B_max;
|
|
|
|
|
|
344 6 }
|
|
|
|
|
|
345 5 }
|
|
|
|
|
|
346 4 }
|
|
|
|
|
|
347 3
|
|
|
|
|
|
348 3 if (g_Usart.recv_buffer[7] & (1 << 7)) //ȫ<><C8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
349 3 {
|
|
|
|
|
|
350 4 s_recv.global_brightness = g_Usart.recv_buffer[8];
|
|
|
|
|
|
351 4
|
|
|
|
|
|
352 4 for (i = 0; i < 12; i++)
|
|
|
|
|
|
353 4 {
|
|
|
|
|
|
354 5 // s_pwm.wanttopwmflash[i] = PWM_MAX_VALUE - s_pwm.currvalue[i] * PWM_MAX_VALUE *
|
2025-12-15 20:48:52 +08:00
|
|
|
|
-s_recv.global_brightness / 100 / 100 * s_recv.key_status[i];
|
2025-12-16 16:59:36 +08:00
|
|
|
|
355 5
|
|
|
|
|
|
C51 COMPILER V9.01 UART_SET 12/16/2025 16:53:47 PAGE 7
|
2025-12-15 20:48:52 +08:00
|
|
|
|
|
2025-12-16 16:59:36 +08:00
|
|
|
|
356 5 s_recv.flag1[i] = 1;
|
|
|
|
|
|
357 5 s_recv.flag2[i] = 0;
|
|
|
|
|
|
358 5
|
|
|
|
|
|
359 5 s_pwm.wanttopwm[i] = PWM_MAX_VALUE - s_recv.B_Ch[i] * PWM_MAX_VALUE * s_recv.glo
|
2025-12-15 20:48:52 +08:00
|
|
|
|
-bal_brightness / 100 / 100 * s_recv.key_status[i];
|
2025-12-16 16:59:36 +08:00
|
|
|
|
360 5 s_pwm.doublecurrpwm[i] = s_pwm.currpwm[i]; //<2F><><EFBFBD>µ<EFBFBD><C2B5><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC>
|
|
|
|
|
|
361 5 if(s_pwm.wanttopwm[i] > PWM_MAX_VALUE)
|
|
|
|
|
|
362 5 {
|
|
|
|
|
|
363 6 s_pwm.wanttopwm[i] = PWM_MAX_VALUE;
|
|
|
|
|
|
364 6 }
|
|
|
|
|
|
365 5
|
|
|
|
|
|
366 5 /*<2A><><EFBFBD><EFBFBD>10ms<6D><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD>pwm<77><6D><EFBFBD><EFBFBD>ֵ*/
|
|
|
|
|
|
367 5 if (s_pwm.wanttopwm[i] > s_pwm.currpwm[i])
|
|
|
|
|
|
368 5 {
|
|
|
|
|
|
369 6 s_pwm.every_change_10ms[i] = (float)(s_pwm.wanttopwm[i] - s_pwm.currpwm[i])
|
2025-12-15 20:48:52 +08:00
|
|
|
|
-/ s_recv.gradual_time[i];
|
2025-12-16 16:59:36 +08:00
|
|
|
|
370 6 if (s_pwm.every_change_10ms[i] < 1)
|
|
|
|
|
|
371 6 {
|
|
|
|
|
|
372 7 s_pwm.every_change_10ms[i] = 1;
|
|
|
|
|
|
373 7 }
|
|
|
|
|
|
374 6 }
|
|
|
|
|
|
375 5
|
|
|
|
|
|
376 5 if (s_pwm.wanttopwm[i] < s_pwm.currpwm[i])
|
|
|
|
|
|
377 5 {
|
|
|
|
|
|
378 6 s_pwm.every_change_10ms[i] = (float)(s_pwm.currpwm[i] - s_pwm.wanttopwm[i])
|
2025-12-15 20:48:52 +08:00
|
|
|
|
-/ s_recv.gradual_time[i];
|
2025-12-16 16:59:36 +08:00
|
|
|
|
379 6 if (s_pwm.every_change_10ms[i] < 1)
|
|
|
|
|
|
380 6 {
|
|
|
|
|
|
381 7 s_pwm.every_change_10ms[i] = 1;
|
|
|
|
|
|
382 7 }
|
|
|
|
|
|
383 6 }
|
|
|
|
|
|
384 5 }
|
|
|
|
|
|
385 4 }
|
|
|
|
|
|
386 3
|
|
|
|
|
|
387 3
|
|
|
|
|
|
388 3 g_answer.short_answer_flag=0x01;
|
|
|
|
|
|
389 3 break;
|
|
|
|
|
|
390 3
|
2025-12-15 20:48:52 +08:00
|
|
|
|
391 3
|
2025-12-16 16:59:36 +08:00
|
|
|
|
392 3 //<2F><><EFBFBD>ÿ<EFBFBD><C3BF><EFBFBD>״̬
|
|
|
|
|
|
393 3 case USART_CMD_SWITCH_STATUS:
|
|
|
|
|
|
394 3 g_answer.short_answer[UART_FMT_CMD]=USART_CMD_SWITCH_STATUS_A;
|
|
|
|
|
|
395 3 if(debug)
|
|
|
|
|
|
396 3 {
|
|
|
|
|
|
397 4 PrintString1("switch state");
|
|
|
|
|
|
398 4 }
|
|
|
|
|
|
399 3
|
|
|
|
|
|
400 3 for (i = 0; i < 8; i++)
|
|
|
|
|
|
401 3 {
|
|
|
|
|
|
402 4 if (g_Usart.recv_buffer[7] & (1 << i))
|
|
|
|
|
|
403 4 {
|
|
|
|
|
|
404 5 if (g_Usart.recv_buffer[9 + i] == 0x01)
|
|
|
|
|
|
405 5 {
|
|
|
|
|
|
406 6 s_recv.key_status[i] = 0x01;
|
|
|
|
|
|
407 6 //s_pwm.currvalue[i] = s_pwm.thenvalue[i];
|
|
|
|
|
|
408 6 Open_Light(i);
|
|
|
|
|
|
409 6 }
|
|
|
|
|
|
410 5
|
|
|
|
|
|
411 5 if (g_Usart.recv_buffer[9 + i] == 0x00)
|
|
|
|
|
|
412 5 {
|
|
|
|
|
|
413 6 //s_pwm.thenvalue[i] = s_pwm.currvalue[i];
|
|
|
|
|
|
414 6 Close_Light(i);
|
|
|
|
|
|
C51 COMPILER V9.01 UART_SET 12/16/2025 16:53:47 PAGE 8
|
2025-12-15 20:48:52 +08:00
|
|
|
|
|
2025-12-16 16:59:36 +08:00
|
|
|
|
415 6 s_recv.flag1[i] = 0;
|
|
|
|
|
|
416 6 s_recv.flag2[i] = 0;
|
|
|
|
|
|
417 6 s_recv.mode[i] = 2;
|
|
|
|
|
|
418 6 s_recv.key_status[i] = 0x00;
|
|
|
|
|
|
419 6 }
|
|
|
|
|
|
420 5
|
|
|
|
|
|
421 5 if (g_Usart.recv_buffer[9 + i] == 0x02)
|
|
|
|
|
|
422 5 {
|
|
|
|
|
|
423 6 if (s_recv.key_status[i] == 0x00)
|
|
|
|
|
|
424 6 {
|
|
|
|
|
|
425 7 s_recv.key_status[i] = 0x01;
|
|
|
|
|
|
426 7 //s_pwm.currvalue[i] = s_pwm.thenvalue[i];
|
|
|
|
|
|
427 7 Open_Light(i);
|
|
|
|
|
|
428 7 continue;
|
|
|
|
|
|
429 7 }
|
|
|
|
|
|
430 6
|
|
|
|
|
|
431 6 if (s_recv.key_status[i] == 0x01)
|
|
|
|
|
|
432 6 {
|
|
|
|
|
|
433 7 //s_pwm.thenvalue[i] = s_pwm.currvalue[i];
|
|
|
|
|
|
434 7 Close_Light(i);
|
|
|
|
|
|
435 7 s_recv.flag1[i] = 0;
|
|
|
|
|
|
436 7 s_recv.flag2[i] = 0;
|
|
|
|
|
|
437 7 s_recv.mode[i] = 2;
|
|
|
|
|
|
438 7 s_recv.key_status[i] = 0x00;
|
|
|
|
|
|
439 7 continue;
|
|
|
|
|
|
440 7 }
|
|
|
|
|
|
441 6 }
|
|
|
|
|
|
442 5 }
|
|
|
|
|
|
443 4 }
|
|
|
|
|
|
444 3
|
2025-12-15 20:48:52 +08:00
|
|
|
|
445 3
|
2025-12-16 16:59:36 +08:00
|
|
|
|
446 3 for (i = 0; i < 4; i++)
|
|
|
|
|
|
447 3 {
|
|
|
|
|
|
448 4 if (g_Usart.recv_buffer[8] & (1 << i))
|
|
|
|
|
|
449 4 {
|
|
|
|
|
|
450 5 if (g_Usart.recv_buffer[9 + 8 + i] == 0x01)
|
|
|
|
|
|
451 5 {
|
|
|
|
|
|
452 6 s_recv.key_status[i+8] = 0x01;
|
|
|
|
|
|
453 6 //s_pwm.currvalue[i+8] = s_pwm.thenvalue[i];
|
|
|
|
|
|
454 6 Open_Light(i+8);
|
|
|
|
|
|
455 6 }
|
|
|
|
|
|
456 5
|
|
|
|
|
|
457 5 if (g_Usart.recv_buffer[9 +8 + i] == 0x00)
|
|
|
|
|
|
458 5 {
|
|
|
|
|
|
459 6 //s_pwm.thenvalue[i+8] = s_pwm.currvalue[i+8];
|
|
|
|
|
|
460 6 Close_Light(i+8);
|
|
|
|
|
|
461 6 s_recv.flag1[i+8] = 0;
|
|
|
|
|
|
462 6 s_recv.flag2[i+8] = 0;
|
|
|
|
|
|
463 6 s_recv.mode[i+8] = 2;
|
|
|
|
|
|
464 6 s_recv.key_status[i+8] = 0x00;
|
|
|
|
|
|
465 6 }
|
|
|
|
|
|
466 5
|
|
|
|
|
|
467 5 if (g_Usart.recv_buffer[9 + 8 + i] == 0x02)
|
|
|
|
|
|
468 5 {
|
|
|
|
|
|
469 6 if (s_recv.key_status[i+8] == 0x00)
|
|
|
|
|
|
470 6 {
|
|
|
|
|
|
471 7 s_recv.key_status[i+8] = 0x01;
|
|
|
|
|
|
472 7 //s_pwm.currvalue[i+8] = s_pwm.thenvalue[i];
|
|
|
|
|
|
473 7 Open_Light(i+8);
|
|
|
|
|
|
474 7 continue;
|
|
|
|
|
|
475 7 }
|
|
|
|
|
|
476 6
|
|
|
|
|
|
C51 COMPILER V9.01 UART_SET 12/16/2025 16:53:47 PAGE 9
|
2025-12-15 20:48:52 +08:00
|
|
|
|
|
|
|
|
|
|
477 6
|
2025-12-16 16:59:36 +08:00
|
|
|
|
478 6 if (s_recv.key_status[i+8] == 0x01)
|
|
|
|
|
|
479 6 {
|
|
|
|
|
|
480 7 //s_pwm.thenvalue[i+8] = s_pwm.currvalue[i+8];
|
|
|
|
|
|
481 7 Close_Light(i+8);
|
|
|
|
|
|
482 7 s_recv.flag1[i+8] = 0;
|
|
|
|
|
|
483 7 s_recv.flag2[i+8] = 0;
|
|
|
|
|
|
484 7 s_recv.mode[i+8] = 2;
|
|
|
|
|
|
485 7 s_recv.key_status[i+8] = 0x00;
|
|
|
|
|
|
486 7 continue;
|
|
|
|
|
|
487 7 }
|
|
|
|
|
|
488 6 }
|
|
|
|
|
|
489 5 }
|
|
|
|
|
|
490 4 }
|
|
|
|
|
|
491 3 g_answer.short_answer_flag=0x01;
|
|
|
|
|
|
492 3 break;
|
|
|
|
|
|
493 3 case USART_CMD_DEBUG_SET:
|
|
|
|
|
|
494 3 g_answer.short_answer[UART_FMT_CMD]=USART_CMD_DEBUG_SET_A;
|
|
|
|
|
|
495 3 if(debug)
|
|
|
|
|
|
496 3 {
|
|
|
|
|
|
497 4 PrintString1("debug");
|
|
|
|
|
|
498 4 }
|
|
|
|
|
|
499 3 debug = g_Usart.recv_buffer[7];
|
|
|
|
|
|
500 3 g_answer.short_answer_flag=0x01;
|
|
|
|
|
|
501 3 break;
|
|
|
|
|
|
502 3 case Usart_CMD_Version:
|
|
|
|
|
|
503 3 g_answer.version_answer[UART_FMT_CMD]=Usart_CMD_Version_A;
|
|
|
|
|
|
504 3 g_answer.version_answer_flag=0x01;
|
|
|
|
|
|
505 3 if(debug)
|
|
|
|
|
|
506 3 {
|
|
|
|
|
|
507 4 PrintString1("version");
|
|
|
|
|
|
508 4 }
|
|
|
|
|
|
509 3 break;
|
|
|
|
|
|
510 3 }
|
|
|
|
|
|
511 2 g_Usart.ok_flag=0;
|
|
|
|
|
|
512 2 }
|
|
|
|
|
|
513 1 }
|
|
|
|
|
|
514
|
|
|
|
|
|
515 void Usart_answer(void)
|
|
|
|
|
|
516 {
|
|
|
|
|
|
517 1 u8 i=0;
|
|
|
|
|
|
518 1 u8 checksum=0;
|
|
|
|
|
|
519 1 if(g_answer.long_answer_flag)
|
|
|
|
|
|
520 1 {
|
|
|
|
|
|
521 2 g_answer.long_answer[UART_FMT_ADDR_TX]=ADDR_RX;
|
|
|
|
|
|
522 2 g_answer.long_answer[UART_FMT_TYPE]=g_Usart.Sn;
|
|
|
|
|
|
523 2 g_answer.long_answer[UART_FMT_DEV_TYPE]=DEV_TYPE;
|
|
|
|
|
|
524 2 g_answer.long_answer[UART_FMT_ADDR_RX]=g_Usart.recv_buffer[UART_FMT_ADDR_TX];
|
|
|
|
|
|
525 2 g_answer.long_answer[UART_FMT_LEN]=0x14;
|
|
|
|
|
|
526 2 g_answer.long_answer[7] = s_recv.global_brightness;
|
|
|
|
|
|
527 2 for(i=0;i<12;i++)
|
|
|
|
|
|
528 2 {
|
|
|
|
|
|
529 3 g_answer.long_answer[8+i] = s_pwm.currvalue[11-i];
|
|
|
|
|
|
530 3 if(s_recv.key_status[i] == 0x01)
|
|
|
|
|
|
531 3 {
|
|
|
|
|
|
532 4 g_answer.long_answer[8+i] |= 0x80;
|
|
|
|
|
|
533 4 }
|
|
|
|
|
|
534 3 }
|
|
|
|
|
|
535 2 checksum=sumfunc(g_answer.long_answer,0x14);
|
|
|
|
|
|
536 2 g_answer.long_answer[UART_FMT_CKS]=checksum;
|
|
|
|
|
|
537 2
|
|
|
|
|
|
538 2 Printbuffer3(g_answer.long_answer,0x14); //<2F><><EFBFBD><EFBFBD>3<EFBFBD><33><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӡ
|
|
|
|
|
|
C51 COMPILER V9.01 UART_SET 12/16/2025 16:53:47 PAGE 10
|
2025-12-15 20:48:52 +08:00
|
|
|
|
|
2025-12-16 16:59:36 +08:00
|
|
|
|
539 2
|
|
|
|
|
|
540 2 if(debug)
|
|
|
|
|
|
541 2 {
|
|
|
|
|
|
542 3 // PrintString1("long answer");
|
|
|
|
|
|
543 3 }
|
|
|
|
|
|
544 2 g_answer.long_answer_flag=0;
|
|
|
|
|
|
545 2 memset(g_Usart.recv_buffer,0,32);
|
|
|
|
|
|
546 2 }
|
|
|
|
|
|
547 1 if(g_answer.short_answer_flag)
|
|
|
|
|
|
548 1 {
|
|
|
|
|
|
549 2 g_answer.short_answer[UART_FMT_ADDR_TX]=ADDR_RX;
|
|
|
|
|
|
550 2 g_answer.short_answer[UART_FMT_TYPE]=g_Usart.Sn;
|
|
|
|
|
|
551 2 g_answer.short_answer[UART_FMT_DEV_TYPE]=DEV_TYPE;
|
|
|
|
|
|
552 2 g_answer.short_answer[UART_FMT_ADDR_RX]=g_Usart.recv_buffer[UART_FMT_ADDR_TX];
|
|
|
|
|
|
553 2 g_answer.short_answer[UART_FMT_LEN]=0x07;
|
|
|
|
|
|
554 2 checksum=sumfunc(g_answer.short_answer,0x07);
|
|
|
|
|
|
555 2 g_answer.short_answer[UART_FMT_CKS]=checksum;
|
|
|
|
|
|
556 2 Printbuffer3(g_answer.short_answer,0x07);
|
|
|
|
|
|
557 2 if(debug)
|
|
|
|
|
|
558 2 {
|
|
|
|
|
|
559 3 PrintString1("short answer");
|
|
|
|
|
|
560 3 }
|
|
|
|
|
|
561 2
|
2025-12-15 20:48:52 +08:00
|
|
|
|
562 2
|
2025-12-16 16:59:36 +08:00
|
|
|
|
563 2 g_answer.short_answer_flag=0;
|
|
|
|
|
|
564 2 memset(g_Usart.recv_buffer,0,32);
|
|
|
|
|
|
565 2 }
|
|
|
|
|
|
566 1
|
|
|
|
|
|
567 1 if(g_answer.version_answer_flag)
|
|
|
|
|
|
568 1 {
|
|
|
|
|
|
569 2 g_answer.version_answer[UART_FMT_ADDR_TX]=ADDR_RX;
|
|
|
|
|
|
570 2 g_answer.version_answer[UART_FMT_TYPE]=g_Usart.Sn;
|
|
|
|
|
|
571 2 g_answer.version_answer[UART_FMT_DEV_TYPE]=DEV_TYPE;
|
|
|
|
|
|
572 2 g_answer.version_answer[UART_FMT_ADDR_RX]=g_Usart.recv_buffer[UART_FMT_ADDR_TX];
|
|
|
|
|
|
573 2 g_answer.version_answer[UART_FMT_LEN]=0x09;
|
|
|
|
|
|
574 2 g_answer.version_answer[UART_FMT_CMD+1]=Version_High;
|
|
|
|
|
|
575 2 g_answer.version_answer[UART_FMT_CMD+2]=Version_Low;
|
|
|
|
|
|
576 2
|
|
|
|
|
|
577 2 checksum=sumfunc(g_answer.version_answer,0x09);
|
|
|
|
|
|
578 2 g_answer.version_answer[UART_FMT_CKS]=checksum;
|
|
|
|
|
|
579 2 Printbuffer3(g_answer.version_answer,0x09);
|
|
|
|
|
|
580 2 if(debug)
|
|
|
|
|
|
581 2 {
|
|
|
|
|
|
582 3 PrintString1("version_answer");
|
|
|
|
|
|
583 3 }
|
|
|
|
|
|
584 2 g_answer.version_answer_flag=0;
|
|
|
|
|
|
585 2 memset(g_Usart.recv_buffer,0,32);
|
|
|
|
|
|
586 2 }
|
|
|
|
|
|
587 1 memset(&g_answer,0,sizeof(g_answer));
|
|
|
|
|
|
588 1 }
|
|
|
|
|
|
589
|
|
|
|
|
|
590 u8 sumfunc(u8* answer,u8 len)
|
|
|
|
|
|
591 {
|
|
|
|
|
|
592 1 u8 m = 0;
|
|
|
|
|
|
593 1 u8 j;
|
|
|
|
|
|
594 1 for (j = 0; j < len; j++)
|
|
|
|
|
|
595 1 {
|
|
|
|
|
|
596 2 if (5 == j) continue;
|
|
|
|
|
|
597 2 m += *(answer+j);
|
|
|
|
|
|
598 2 }
|
|
|
|
|
|
599 1 return ~m;
|
|
|
|
|
|
600 1 }
|
|
|
|
|
|
C51 COMPILER V9.01 UART_SET 12/16/2025 16:53:47 PAGE 11
|
2025-12-15 20:48:52 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
MODULE INFORMATION: STATIC OVERLAYABLE
|
|
|
|
|
|
CODE SIZE = 4719 ----
|
|
|
|
|
|
CONSTANT SIZE = 101 ----
|
|
|
|
|
|
XDATA SIZE = 272 ----
|
|
|
|
|
|
PDATA SIZE = ---- ----
|
|
|
|
|
|
DATA SIZE = 1 7
|
|
|
|
|
|
IDATA SIZE = ---- ----
|
|
|
|
|
|
BIT SIZE = ---- ----
|
|
|
|
|
|
END OF MODULE INFORMATION.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
|