diff --git a/Listings/BLV_C12_Dimm_V19.m51 b/Listings/BLV_C12_Dimm_V19.m51 index b27009c..50cc1d9 100644 --- a/Listings/BLV_C12_Dimm_V19.m51 +++ b/Listings/BLV_C12_Dimm_V19.m51 @@ -1,4 +1,4 @@ -BL51 BANKED LINKER/LOCATER V6.22 12/15/2025 20:45:04 PAGE 1 +BL51 BANKED LINKER/LOCATER V6.22 12/16/2025 16:53:48 PAGE 1 BL51 BANKED LINKER/LOCATER V6.22, INVOKED BY: @@ -59,7 +59,7 @@ LINK MAP OF MODULE: .\Objects\BLV_C12_Dimm_V19 (GPIO) * * * * * * * D A T A M E M O R Y * * * * * * * REG 0000H 0008H ABSOLUTE "REG BANK 0" DATA 0008H 0015H UNIT _DATA_GROUP_ - BL51 BANKED LINKER/LOCATER V6.22 12/15/2025 20:45:04 PAGE 2 + BL51 BANKED LINKER/LOCATER V6.22 12/16/2025 16:53:48 PAGE 2 DATA 001DH 0014H UNIT ?DT?UART @@ -119,7 +119,7 @@ LINK MAP OF MODULE: .\Objects\BLV_C12_Dimm_V19 (GPIO) CODE 2AFCH 01B8H UNIT ?PR?_PWM15_INIT?PWM15BIT CODE 2CB4H 018DH UNIT ?PR?USART_ANSWER?UART_SET CODE 2E41H 0180H UNIT ?CO?PWM15BIT - BL51 BANKED LINKER/LOCATER V6.22 12/15/2025 20:45:04 PAGE 3 + BL51 BANKED LINKER/LOCATER V6.22 12/16/2025 16:53:48 PAGE 3 CODE 2FC1H 0178H UNIT ?PR?PWM_CONFIG?PWM_CONTROL @@ -179,7 +179,7 @@ SEGMENT DATA_GROUP +--> ?PR?PWM_CONFIG?PWM_CONTROL +--> ?PR?TIMER2_INIT_1MS?START_INIT +--> ?PR?KEY_INIT?KEY - BL51 BANKED LINKER/LOCATER V6.22 12/15/2025 20:45:04 PAGE 4 + BL51 BANKED LINKER/LOCATER V6.22 12/16/2025 16:53:48 PAGE 4 +--> ?PR?GPIO1_CONFIG?MAIN @@ -239,7 +239,7 @@ SEGMENT DATA_GROUP ?PR?USART_DEAL_DATA?UART_SET 0008H 0001H +--> ?CO?UART_SET +--> ?PR?_PRINTSTRING1?UART - BL51 BANKED LINKER/LOCATER V6.22 12/15/2025 20:45:04 PAGE 5 + BL51 BANKED LINKER/LOCATER V6.22 12/16/2025 16:53:48 PAGE 5 +--> ?PR?_OPEN_LIGHT?PWM_CONTROL @@ -299,7 +299,7 @@ SYMBOL TABLE OF MODULE: .\Objects\BLV_C12_Dimm_V19 (GPIO) D:00CBH PUBLIC P6M1 D:00C8H PUBLIC P5 D:00E8H PUBLIC P6 - BL51 BANKED LINKER/LOCATER V6.22 12/15/2025 20:45:04 PAGE 6 + BL51 BANKED LINKER/LOCATER V6.22 12/16/2025 16:53:48 PAGE 6 D:00E1H PUBLIC P7M1 @@ -359,7 +359,7 @@ SYMBOL TABLE OF MODULE: .\Objects\BLV_C12_Dimm_V19 (GPIO) C:2A21H LINE# 49 C:2A26H LINE# 50 C:2A26H LINE# 51 - BL51 BANKED LINKER/LOCATER V6.22 12/15/2025 20:45:04 PAGE 7 + BL51 BANKED LINKER/LOCATER V6.22 12/16/2025 16:53:48 PAGE 7 C:2A37H LINE# 52 @@ -419,7 +419,7 @@ SYMBOL TABLE OF MODULE: .\Objects\BLV_C12_Dimm_V19 (GPIO) C:3C9DH LINE# 28 C:3C9DH LINE# 29 C:3C9DH LINE# 32 - BL51 BANKED LINKER/LOCATER V6.22 12/15/2025 20:45:04 PAGE 8 + BL51 BANKED LINKER/LOCATER V6.22 12/16/2025 16:53:48 PAGE 8 C:3CA0H LINE# 33 @@ -479,7 +479,7 @@ SYMBOL TABLE OF MODULE: .\Objects\BLV_C12_Dimm_V19 (GPIO) C:385CH LINE# 94 C:385CH LINE# 95 C:385EH LINE# 96 - BL51 BANKED LINKER/LOCATER V6.22 12/15/2025 20:45:04 PAGE 9 + BL51 BANKED LINKER/LOCATER V6.22 12/16/2025 16:53:48 PAGE 9 C:385EH LINE# 97 @@ -539,7 +539,7 @@ SYMBOL TABLE OF MODULE: .\Objects\BLV_C12_Dimm_V19 (GPIO) C:3C66H PUBLIC _PrintString1 C:3C79H PUBLIC _PrintString3 C:3BD1H PUBLIC _Printbuffer1 - BL51 BANKED LINKER/LOCATER V6.22 12/15/2025 20:45:04 PAGE 10 + BL51 BANKED LINKER/LOCATER V6.22 12/16/2025 16:53:48 PAGE 10 D:00AFH PUBLIC IE2 @@ -599,7 +599,7 @@ SYMBOL TABLE OF MODULE: .\Objects\BLV_C12_Dimm_V19 (GPIO) C:2326H LINE# 62 C:233DH LINE# 63 C:2353H LINE# 64 - BL51 BANKED LINKER/LOCATER V6.22 12/15/2025 20:45:04 PAGE 11 + BL51 BANKED LINKER/LOCATER V6.22 12/16/2025 16:53:48 PAGE 11 C:2364H LINE# 65 @@ -659,7 +659,7 @@ SYMBOL TABLE OF MODULE: .\Objects\BLV_C12_Dimm_V19 (GPIO) C:246EH LINE# 161 C:2484H LINE# 162 C:2484H LINE# 163 - BL51 BANKED LINKER/LOCATER V6.22 12/15/2025 20:45:04 PAGE 12 + BL51 BANKED LINKER/LOCATER V6.22 12/16/2025 16:53:48 PAGE 12 C:2493H LINE# 164 @@ -719,7 +719,7 @@ SYMBOL TABLE OF MODULE: .\Objects\BLV_C12_Dimm_V19 (GPIO) C:3C66H LINE# 272 C:3C66H LINE# 273 C:3C78H LINE# 274 - BL51 BANKED LINKER/LOCATER V6.22 12/15/2025 20:45:04 PAGE 13 + BL51 BANKED LINKER/LOCATER V6.22 12/16/2025 16:53:48 PAGE 13 ------- ENDPROC _PRINTSTRING1 @@ -779,7 +779,7 @@ SYMBOL TABLE OF MODULE: .\Objects\BLV_C12_Dimm_V19 (GPIO) ------- PROC _TX3_WRITE2BUFF D:0007H SYMBOL dat C:0066H LINE# 374 - BL51 BANKED LINKER/LOCATER V6.22 12/15/2025 20:45:04 PAGE 14 + BL51 BANKED LINKER/LOCATER V6.22 12/16/2025 16:53:48 PAGE 14 C:0066H LINE# 375 @@ -839,7 +839,7 @@ SYMBOL TABLE OF MODULE: .\Objects\BLV_C12_Dimm_V19 (GPIO) ------- PROC UART3_CONFIG ------- DO D:0008H SYMBOL COMx_InitStructure - BL51 BANKED LINKER/LOCATER V6.22 12/15/2025 20:45:04 PAGE 15 + BL51 BANKED LINKER/LOCATER V6.22 12/16/2025 16:53:48 PAGE 15 ------- ENDDO @@ -888,505 +888,505 @@ SYMBOL TABLE OF MODULE: .\Objects\BLV_C12_Dimm_V19 (GPIO) D:0007H SYMBOL i D:0009H SYMBOL sum ------- ENDDO + C:3274H LINE# 19 C:3274H LINE# 20 C:3274H LINE# 21 - C:3274H LINE# 22 - C:3277H LINE# 24 - C:3279H LINE# 25 - C:327DH LINE# 27 + C:3277H LINE# 23 + C:3279H LINE# 24 + C:327DH LINE# 26 + C:32AAH LINE# 27 C:32AAH LINE# 28 - C:32AAH LINE# 29 + C:32ADH LINE# 39 C:32ADH LINE# 40 - C:32ADH LINE# 41 - C:32B0H LINE# 42 - BL51 BANKED LINKER/LOCATER V6.22 12/15/2025 20:45:04 PAGE 16 + C:32B0H LINE# 41 + BL51 BANKED LINKER/LOCATER V6.22 12/16/2025 16:53:48 PAGE 16 + C:32B7H LINE# 42 C:32B7H LINE# 43 - C:32B7H LINE# 44 - C:32CFH LINE# 45 - C:32D2H LINE# 46 - C:32D5H LINE# 47 - C:32E2H LINE# 49 - C:32E2H LINE# 52 + C:32CFH LINE# 44 + C:32D2H LINE# 45 + C:32D5H LINE# 46 + C:32E2H LINE# 48 + C:32E2H LINE# 51 + C:32EEH LINE# 52 C:32EEH LINE# 53 - C:32EEH LINE# 54 - C:32FDH LINE# 55 - C:3300H LINE# 56 + C:32FDH LINE# 54 + C:3300H LINE# 55 + C:3305H LINE# 56 C:3305H LINE# 57 - C:3305H LINE# 58 + C:330AH LINE# 58 C:330AH LINE# 59 - C:330AH LINE# 60 + C:331AH LINE# 60 C:331AH LINE# 61 - C:331AH LINE# 62 - C:3324H LINE# 64 + C:3324H LINE# 63 + C:332BH LINE# 64 C:332BH LINE# 65 C:332BH LINE# 66 - C:332BH LINE# 67 + C:332DH LINE# 68 C:332DH LINE# 69 - C:332DH LINE# 70 + C:3337H LINE# 70 C:3337H LINE# 71 - C:3337H LINE# 72 - C:333AH LINE# 73 - C:3340H LINE# 74 - C:3343H LINE# 75 + C:333AH LINE# 72 + C:3340H LINE# 73 + C:3343H LINE# 74 + C:3345H LINE# 76 C:3345H LINE# 77 - C:3345H LINE# 78 + C:334BH LINE# 78 C:334BH LINE# 79 C:334BH LINE# 80 - C:334BH LINE# 81 + C:3353H LINE# 81 C:3353H LINE# 82 C:3353H LINE# 83 C:3353H LINE# 84 C:3353H LINE# 85 - C:3353H LINE# 86 ------- ENDPROC USART_JUDGE_DATA ------- PROC USART_DEAL_DATA ------- DO D:0008H SYMBOL i ------- ENDDO + C:00FEH LINE# 87 C:00FEH LINE# 88 - C:00FEH LINE# 89 - C:00FEH LINE# 91 + C:00FEH LINE# 90 + C:0107H LINE# 91 C:0107H LINE# 92 - C:0107H LINE# 93 + C:010BH LINE# 93 C:010BH LINE# 94 - C:010BH LINE# 95 + C:0114H LINE# 95 C:0114H LINE# 96 - C:0114H LINE# 97 - C:0145H LINE# 98 + C:0145H LINE# 97 + C:0145H LINE# 99 C:0145H LINE# 100 - C:0145H LINE# 101 + C:0149H LINE# 101 C:0149H LINE# 102 - C:0149H LINE# 103 - BL51 BANKED LINKER/LOCATER V6.22 12/15/2025 20:45:04 PAGE 17 + BL51 BANKED LINKER/LOCATER V6.22 12/16/2025 16:53:48 PAGE 17 + C:0152H LINE# 103 C:0152H LINE# 104 - C:0152H LINE# 105 - C:0158H LINE# 106 - C:015BH LINE# 107 + C:0158H LINE# 105 + C:015BH LINE# 106 + C:015EH LINE# 108 C:015EH LINE# 109 - C:015EH LINE# 110 - C:0164H LINE# 111 + C:0164H LINE# 110 + C:0168H LINE# 111 C:0168H LINE# 112 - C:0168H LINE# 113 - C:0171H LINE# 114 - C:0171H LINE# 116 + C:0171H LINE# 113 + C:0171H LINE# 115 + C:0174H LINE# 116 C:0174H LINE# 117 - C:0174H LINE# 118 + C:0191H LINE# 118 C:0191H LINE# 119 - C:0191H LINE# 120 - C:01A3H LINE# 121 - C:01B4H LINE# 122 - C:01DCH LINE# 124 + C:01A3H LINE# 120 + C:01B4H LINE# 121 + C:01DCH LINE# 123 + C:01FDH LINE# 124 C:01FDH LINE# 125 - C:01FDH LINE# 126 - C:020FH LINE# 127 - C:020FH LINE# 129 + C:020FH LINE# 126 + C:020FH LINE# 128 + C:0230H LINE# 129 C:0230H LINE# 130 - C:0230H LINE# 131 - C:0242H LINE# 132 - C:0242H LINE# 134 - C:02BEH LINE# 135 - C:02E6H LINE# 137 - C:0302H LINE# 141 + C:0242H LINE# 131 + C:0242H LINE# 133 + C:02BEH LINE# 134 + C:02E6H LINE# 136 + C:0302H LINE# 140 + C:0316H LINE# 141 C:0316H LINE# 142 - C:0316H LINE# 143 - C:0328H LINE# 144 - C:0328H LINE# 147 + C:0328H LINE# 143 + C:0328H LINE# 146 + C:0355H LINE# 147 C:0355H LINE# 148 - C:0355H LINE# 149 - C:03B5H LINE# 150 + C:03B5H LINE# 149 + C:03DDH LINE# 150 C:03DDH LINE# 151 - C:03DDH LINE# 152 + C:03F3H LINE# 152 C:03F3H LINE# 153 - C:03F3H LINE# 154 - C:03F3H LINE# 156 + C:03F3H LINE# 155 + C:0420H LINE# 156 C:0420H LINE# 157 - C:0420H LINE# 158 - C:047EH LINE# 159 + C:047EH LINE# 158 + C:04A6H LINE# 159 C:04A6H LINE# 160 - C:04A6H LINE# 161 + C:04BCH LINE# 161 C:04BCH LINE# 162 C:04BCH LINE# 163 C:04BCH LINE# 164 - C:04BCH LINE# 165 - C:04C7H LINE# 168 + C:04C7H LINE# 167 + C:04CAH LINE# 168 C:04CAH LINE# 169 - C:04CAH LINE# 170 + C:04E7H LINE# 170 C:04E7H LINE# 171 - C:04E7H LINE# 172 - C:04F9H LINE# 173 - C:050AH LINE# 174 - BL51 BANKED LINKER/LOCATER V6.22 12/15/2025 20:45:04 PAGE 18 + C:04F9H LINE# 172 + C:050AH LINE# 173 + BL51 BANKED LINKER/LOCATER V6.22 12/16/2025 16:53:48 PAGE 18 - C:0532H LINE# 176 + C:0532H LINE# 175 + C:0553H LINE# 176 C:0553H LINE# 177 - C:0553H LINE# 178 - C:0565H LINE# 179 - C:0565H LINE# 181 + C:0565H LINE# 178 + C:0565H LINE# 180 + C:0586H LINE# 181 C:0586H LINE# 182 - C:0586H LINE# 183 - C:0598H LINE# 184 - C:0598H LINE# 186 - C:0614H LINE# 187 - C:063CH LINE# 189 - C:0658H LINE# 194 + C:0598H LINE# 183 + C:0598H LINE# 185 + C:0614H LINE# 186 + C:063CH LINE# 188 + C:0658H LINE# 193 + C:066CH LINE# 194 C:066CH LINE# 195 - C:066CH LINE# 196 - C:067EH LINE# 197 - C:067EH LINE# 200 + C:067EH LINE# 196 + C:067EH LINE# 199 + C:06ABH LINE# 200 C:06ABH LINE# 201 - C:06ABH LINE# 202 - C:070BH LINE# 203 + C:070BH LINE# 202 + C:0733H LINE# 203 C:0733H LINE# 204 - C:0733H LINE# 205 + C:0749H LINE# 205 C:0749H LINE# 206 - C:0749H LINE# 207 - C:0749H LINE# 210 + C:0749H LINE# 209 + C:0776H LINE# 210 C:0776H LINE# 211 - C:0776H LINE# 212 - C:07D4H LINE# 213 + C:07D4H LINE# 212 + C:07FCH LINE# 213 C:07FCH LINE# 214 - C:07FCH LINE# 215 + C:0812H LINE# 215 C:0812H LINE# 216 C:0812H LINE# 217 C:0812H LINE# 218 - C:0812H LINE# 219 - C:081DH LINE# 221 - C:0820H LINE# 222 + C:081DH LINE# 220 + C:0820H LINE# 221 + C:0823H LINE# 225 C:0823H LINE# 226 - C:0823H LINE# 227 - C:0829H LINE# 228 + C:0829H LINE# 227 + C:082DH LINE# 228 C:082DH LINE# 229 - C:082DH LINE# 230 - C:0836H LINE# 231 - C:0836H LINE# 233 + C:0836H LINE# 230 + C:0836H LINE# 232 + C:0839H LINE# 233 C:0839H LINE# 234 - C:0839H LINE# 235 + C:0856H LINE# 235 C:0856H LINE# 236 - C:0856H LINE# 237 - C:0867H LINE# 238 - C:0879H LINE# 239 - C:0890H LINE# 240 - C:08A7H LINE# 242 + C:0867H LINE# 237 + C:0879H LINE# 238 + C:0890H LINE# 239 + C:08A7H LINE# 241 + C:08BEH LINE# 242 C:08BEH LINE# 243 - C:08BEH LINE# 244 + C:08C5H LINE# 244 C:08C5H LINE# 245 - C:08C5H LINE# 246 - C:08D6H LINE# 247 - C:08D6H LINE# 249 + C:08D6H LINE# 246 + C:08D6H LINE# 248 + C:08DAH LINE# 249 + BL51 BANKED LINKER/LOCATER V6.22 12/16/2025 16:53:48 PAGE 19 + + C:08DAH LINE# 250 - BL51 BANKED LINKER/LOCATER V6.22 12/15/2025 20:45:04 PAGE 19 - - - C:08DAH LINE# 251 - C:08ECH LINE# 252 - C:08ECH LINE# 254 + C:08ECH LINE# 251 + C:08ECH LINE# 253 + C:08F4H LINE# 254 C:08F4H LINE# 255 - C:08F4H LINE# 256 + C:090AH LINE# 256 C:090AH LINE# 257 - C:090AH LINE# 258 - C:091BH LINE# 259 - C:091DH LINE# 260 - C:091DH LINE# 262 + C:091BH LINE# 258 + C:091DH LINE# 259 + C:091DH LINE# 261 + C:0931H LINE# 262 C:0931H LINE# 263 - C:0931H LINE# 264 + C:0943H LINE# 264 C:0943H LINE# 265 C:0943H LINE# 266 C:0943H LINE# 267 C:0943H LINE# 268 C:0943H LINE# 269 - C:0943H LINE# 270 - C:094EH LINE# 273 + C:094EH LINE# 272 + C:0951H LINE# 273 C:0951H LINE# 274 - C:0951H LINE# 275 + C:096EH LINE# 275 C:096EH LINE# 276 - C:096EH LINE# 277 - C:097FH LINE# 278 - C:0991H LINE# 279 - C:09A8H LINE# 280 - C:09BFH LINE# 282 + C:097FH LINE# 277 + C:0991H LINE# 278 + C:09A8H LINE# 279 + C:09BFH LINE# 281 + C:09D6H LINE# 282 C:09D6H LINE# 283 - C:09D6H LINE# 284 + C:09DDH LINE# 284 C:09DDH LINE# 285 - C:09DDH LINE# 286 - C:09EEH LINE# 287 - C:09EEH LINE# 289 + C:09EEH LINE# 286 + C:09EEH LINE# 288 + C:09F2H LINE# 289 C:09F2H LINE# 290 - C:09F2H LINE# 291 - C:0A04H LINE# 292 - C:0A04H LINE# 294 + C:0A04H LINE# 291 + C:0A04H LINE# 293 + C:0A0CH LINE# 294 C:0A0CH LINE# 295 - C:0A0CH LINE# 296 + C:0A22H LINE# 296 C:0A22H LINE# 297 - C:0A22H LINE# 298 - C:0A33H LINE# 299 - C:0A35H LINE# 300 - C:0A35H LINE# 302 + C:0A33H LINE# 298 + C:0A35H LINE# 299 + C:0A35H LINE# 301 + C:0A49H LINE# 302 C:0A49H LINE# 303 - C:0A49H LINE# 304 + C:0A5BH LINE# 304 C:0A5BH LINE# 305 C:0A5BH LINE# 306 C:0A5BH LINE# 307 C:0A5BH LINE# 308 C:0A5BH LINE# 309 - C:0A5BH LINE# 310 - C:0A66H LINE# 311 - C:0A69H LINE# 312 + C:0A66H LINE# 310 + C:0A69H LINE# 311 + C:0A6CH LINE# 315 C:0A6CH LINE# 316 - C:0A6CH LINE# 317 - C:0A72H LINE# 319 - BL51 BANKED LINKER/LOCATER V6.22 12/15/2025 20:45:04 PAGE 20 + C:0A72H LINE# 318 + BL51 BANKED LINKER/LOCATER V6.22 12/16/2025 16:53:48 PAGE 20 + C:0A76H LINE# 319 C:0A76H LINE# 320 - C:0A76H LINE# 321 - C:0A7FH LINE# 322 - C:0A7FH LINE# 325 + C:0A7FH LINE# 321 + C:0A7FH LINE# 324 + C:0A86H LINE# 325 C:0A86H LINE# 326 - C:0A86H LINE# 327 - C:0A93H LINE# 328 + C:0A93H LINE# 327 + C:0A96H LINE# 328 C:0A96H LINE# 329 - C:0A96H LINE# 330 + C:0AB7H LINE# 330 C:0AB7H LINE# 331 - C:0AB7H LINE# 332 + C:0AC9H LINE# 332 C:0AC9H LINE# 333 - C:0AC9H LINE# 334 - C:0AD0H LINE# 335 - C:0AD0H LINE# 337 + C:0AD0H LINE# 334 + C:0AD0H LINE# 336 + C:0AD7H LINE# 337 C:0AD7H LINE# 338 - C:0AD7H LINE# 339 - C:0AE4H LINE# 340 + C:0AE4H LINE# 339 + C:0AE7H LINE# 340 C:0AE7H LINE# 341 - C:0AE7H LINE# 342 + C:0B08H LINE# 342 C:0B08H LINE# 343 - C:0B08H LINE# 344 + C:0B1AH LINE# 344 C:0B1AH LINE# 345 - C:0B1AH LINE# 346 - C:0B21H LINE# 347 - C:0B21H LINE# 349 + C:0B21H LINE# 346 + C:0B21H LINE# 348 + C:0B2BH LINE# 349 C:0B2BH LINE# 350 - C:0B2BH LINE# 351 - C:0B36H LINE# 353 - C:0B39H LINE# 354 - C:0B39H LINE# 357 - C:0B4BH LINE# 358 - C:0B5CH LINE# 360 - C:0BD8H LINE# 361 - C:0C00H LINE# 362 + C:0B36H LINE# 352 + C:0B39H LINE# 353 + C:0B39H LINE# 356 + C:0B4BH LINE# 357 + C:0B5CH LINE# 359 + C:0BD8H LINE# 360 + C:0C00H LINE# 361 + C:0C21H LINE# 362 C:0C21H LINE# 363 - C:0C21H LINE# 364 - C:0C35H LINE# 365 - C:0C35H LINE# 368 + C:0C35H LINE# 364 + C:0C35H LINE# 367 + C:0C62H LINE# 368 C:0C62H LINE# 369 - C:0C62H LINE# 370 - C:0CC2H LINE# 371 + C:0CC2H LINE# 370 + C:0CEAH LINE# 371 C:0CEAH LINE# 372 - C:0CEAH LINE# 373 + C:0D00H LINE# 373 C:0D00H LINE# 374 - C:0D00H LINE# 375 - C:0D00H LINE# 377 + C:0D00H LINE# 376 + C:0D2DH LINE# 377 C:0D2DH LINE# 378 - C:0D2DH LINE# 379 - C:0D8BH LINE# 380 + C:0D8BH LINE# 379 + C:0DB3H LINE# 380 C:0DB3H LINE# 381 - C:0DB3H LINE# 382 + C:0DC9H LINE# 382 C:0DC9H LINE# 383 C:0DC9H LINE# 384 - C:0DC9H LINE# 385 - C:0DD4H LINE# 386 - C:0DD4H LINE# 389 - BL51 BANKED LINKER/LOCATER V6.22 12/15/2025 20:45:04 PAGE 21 + C:0DD4H LINE# 385 + C:0DD4H LINE# 388 + BL51 BANKED LINKER/LOCATER V6.22 12/16/2025 16:53:48 PAGE 21 - C:0DD7H LINE# 390 + C:0DD7H LINE# 389 + C:0DDAH LINE# 393 C:0DDAH LINE# 394 - C:0DDAH LINE# 395 - C:0DE0H LINE# 396 + C:0DE0H LINE# 395 + C:0DE4H LINE# 396 C:0DE4H LINE# 397 - C:0DE4H LINE# 398 - C:0DEDH LINE# 399 - C:0DEDH LINE# 401 + C:0DEDH LINE# 398 + C:0DEDH LINE# 400 + C:0DF0H LINE# 401 C:0DF0H LINE# 402 - C:0DF0H LINE# 403 + C:0E0DH LINE# 403 C:0E0DH LINE# 404 - C:0E0DH LINE# 405 + C:0E1CH LINE# 405 C:0E1CH LINE# 406 - C:0E1CH LINE# 407 - C:0E2EH LINE# 409 - C:0E33H LINE# 410 - C:0E33H LINE# 412 - C:0E41H LINE# 413 - C:0E41H LINE# 415 - C:0E46H LINE# 416 - C:0E57H LINE# 417 - C:0E68H LINE# 418 - C:0E7BH LINE# 419 - C:0E8CH LINE# 420 - C:0E8CH LINE# 422 + C:0E2EH LINE# 408 + C:0E33H LINE# 409 + C:0E33H LINE# 411 + C:0E41H LINE# 412 + C:0E41H LINE# 414 + C:0E46H LINE# 415 + C:0E57H LINE# 416 + C:0E68H LINE# 417 + C:0E7BH LINE# 418 + C:0E8CH LINE# 419 + C:0E8CH LINE# 421 + C:0E9FH LINE# 422 C:0E9FH LINE# 423 - C:0E9FH LINE# 424 + C:0EB3H LINE# 424 C:0EB3H LINE# 425 - C:0EB3H LINE# 426 - C:0EC5H LINE# 428 - C:0ECAH LINE# 429 - C:0ECCH LINE# 430 - C:0ECCH LINE# 432 - C:0EE2H LINE# 433 - C:0EE2H LINE# 435 - C:0EE7H LINE# 436 - C:0EF8H LINE# 437 - C:0F09H LINE# 438 - C:0F1CH LINE# 439 + C:0EC5H LINE# 427 + C:0ECAH LINE# 428 + C:0ECCH LINE# 429 + C:0ECCH LINE# 431 + C:0EE2H LINE# 432 + C:0EE2H LINE# 434 + C:0EE7H LINE# 435 + C:0EF8H LINE# 436 + C:0F09H LINE# 437 + C:0F1CH LINE# 438 + C:0F2DH LINE# 439 C:0F2DH LINE# 440 C:0F2DH LINE# 441 C:0F2DH LINE# 442 C:0F2DH LINE# 443 - C:0F2DH LINE# 444 - C:0F39H LINE# 447 + C:0F39H LINE# 446 + C:0F3CH LINE# 447 C:0F3CH LINE# 448 - C:0F3CH LINE# 449 + C:0F59H LINE# 449 C:0F59H LINE# 450 - C:0F59H LINE# 451 + C:0F68H LINE# 451 C:0F68H LINE# 452 - C:0F68H LINE# 453 - C:0F7AH LINE# 455 - C:0F82H LINE# 456 - C:0F82H LINE# 458 - C:0F90H LINE# 459 - C:0F90H LINE# 461 - C:0F98H LINE# 462 - BL51 BANKED LINKER/LOCATER V6.22 12/15/2025 20:45:04 PAGE 22 + C:0F7AH LINE# 454 + C:0F82H LINE# 455 + C:0F82H LINE# 457 + C:0F90H LINE# 458 + C:0F90H LINE# 460 + C:0F98H LINE# 461 + BL51 BANKED LINKER/LOCATER V6.22 12/16/2025 16:53:48 PAGE 22 - C:0FA9H LINE# 463 - C:0FBAH LINE# 464 - C:0FCDH LINE# 465 - C:0FDEH LINE# 466 - C:0FDEH LINE# 468 + C:0FA9H LINE# 462 + C:0FBAH LINE# 463 + C:0FCDH LINE# 464 + C:0FDEH LINE# 465 + C:0FDEH LINE# 467 + C:0FF1H LINE# 468 C:0FF1H LINE# 469 - C:0FF1H LINE# 470 + C:1005H LINE# 470 C:1005H LINE# 471 - C:1005H LINE# 472 - C:1017H LINE# 474 - C:101FH LINE# 475 - C:1021H LINE# 476 - C:1021H LINE# 479 - C:1037H LINE# 480 - C:1037H LINE# 482 - C:103FH LINE# 483 - C:1050H LINE# 484 - C:1061H LINE# 485 - C:1074H LINE# 486 + C:1017H LINE# 473 + C:101FH LINE# 474 + C:1021H LINE# 475 + C:1021H LINE# 478 + C:1037H LINE# 479 + C:1037H LINE# 481 + C:103FH LINE# 482 + C:1050H LINE# 483 + C:1061H LINE# 484 + C:1074H LINE# 485 + C:1085H LINE# 486 C:1085H LINE# 487 C:1085H LINE# 488 C:1085H LINE# 489 C:1085H LINE# 490 - C:1085H LINE# 491 - C:1091H LINE# 492 - C:1094H LINE# 493 + C:1091H LINE# 491 + C:1094H LINE# 492 + C:1096H LINE# 493 C:1096H LINE# 494 - C:1096H LINE# 495 - C:109CH LINE# 496 + C:109CH LINE# 495 + C:10A0H LINE# 496 C:10A0H LINE# 497 - C:10A0H LINE# 498 + C:10A9H LINE# 498 C:10A9H LINE# 499 - C:10A9H LINE# 500 - C:10AFH LINE# 501 - C:10B5H LINE# 502 + C:10AFH LINE# 500 + C:10B5H LINE# 501 + C:10B7H LINE# 502 C:10B7H LINE# 503 - C:10B7H LINE# 504 - C:10BDH LINE# 505 - C:10C3H LINE# 506 + C:10BDH LINE# 504 + C:10C3H LINE# 505 + C:10C7H LINE# 506 C:10C7H LINE# 507 - C:10C7H LINE# 508 + C:10D0H LINE# 508 C:10D0H LINE# 509 C:10D0H LINE# 510 C:10D0H LINE# 511 - C:10D0H LINE# 512 + C:10D5H LINE# 512 C:10D5H LINE# 513 - C:10D5H LINE# 514 ------- ENDPROC USART_DEAL_DATA ------- PROC USART_ANSWER ------- DO D:0007H SYMBOL i D:0008H SYMBOL checksum ------- ENDDO + C:2CB4H LINE# 515 C:2CB4H LINE# 516 C:2CB4H LINE# 517 - C:2CB4H LINE# 518 - C:2CB6H LINE# 519 - BL51 BANKED LINKER/LOCATER V6.22 12/15/2025 20:45:04 PAGE 23 + C:2CB6H LINE# 518 + BL51 BANKED LINKER/LOCATER V6.22 12/16/2025 16:53:48 PAGE 23 - C:2CB8H LINE# 520 + C:2CB8H LINE# 519 + C:2CC1H LINE# 520 C:2CC1H LINE# 521 - C:2CC1H LINE# 522 - C:2CC7H LINE# 523 - C:2CCFH LINE# 524 - C:2CD3H LINE# 525 - C:2CDBH LINE# 526 - C:2CDFH LINE# 527 + C:2CC7H LINE# 522 + C:2CCFH LINE# 523 + C:2CD3H LINE# 524 + C:2CDBH LINE# 525 + C:2CDFH LINE# 526 + C:2CE8H LINE# 527 C:2CE8H LINE# 528 C:2CE8H LINE# 529 - C:2CE8H LINE# 530 - C:2D13H LINE# 531 + C:2D13H LINE# 530 + C:2D28H LINE# 531 C:2D28H LINE# 532 - C:2D28H LINE# 533 + C:2D36H LINE# 533 C:2D36H LINE# 534 - C:2D36H LINE# 535 - C:2D3AH LINE# 536 - C:2D47H LINE# 537 - C:2D4DH LINE# 539 + C:2D3AH LINE# 535 + C:2D47H LINE# 536 + C:2D4DH LINE# 538 + C:2D58H LINE# 540 C:2D58H LINE# 541 - C:2D58H LINE# 542 + C:2D58H LINE# 543 C:2D58H LINE# 544 - C:2D58H LINE# 545 - C:2D5DH LINE# 546 + C:2D5DH LINE# 545 + C:2D6AH LINE# 546 C:2D6AH LINE# 547 - C:2D6AH LINE# 548 + C:2D70H LINE# 548 C:2D70H LINE# 549 - C:2D70H LINE# 550 - C:2D76H LINE# 551 - C:2D7EH LINE# 552 - C:2D82H LINE# 553 - C:2D8AH LINE# 554 - C:2D8EH LINE# 555 - C:2D9AH LINE# 556 - C:2DA0H LINE# 557 - C:2DABH LINE# 558 + C:2D76H LINE# 550 + C:2D7EH LINE# 551 + C:2D82H LINE# 552 + C:2D8AH LINE# 553 + C:2D8EH LINE# 554 + C:2D9AH LINE# 555 + C:2DA0H LINE# 556 + C:2DABH LINE# 557 + C:2DAFH LINE# 558 C:2DAFH LINE# 559 - C:2DAFH LINE# 560 - C:2DB8H LINE# 561 - C:2DB8H LINE# 564 - C:2DBDH LINE# 565 - C:2DCAH LINE# 566 - C:2DCAH LINE# 568 + C:2DB8H LINE# 560 + C:2DB8H LINE# 563 + C:2DBDH LINE# 564 + C:2DCAH LINE# 565 + C:2DCAH LINE# 567 + C:2DD0H LINE# 568 C:2DD0H LINE# 569 - C:2DD0H LINE# 570 - C:2DD4H LINE# 571 - C:2DDCH LINE# 572 - C:2DE0H LINE# 573 - C:2DE8H LINE# 574 - C:2DECH LINE# 575 - C:2DF2H LINE# 576 - C:2DF5H LINE# 578 - C:2E02H LINE# 579 - C:2E08H LINE# 580 - C:2E13H LINE# 581 + C:2DD4H LINE# 570 + C:2DDCH LINE# 571 + C:2DE0H LINE# 572 + C:2DE8H LINE# 573 + C:2DECH LINE# 574 + C:2DF2H LINE# 575 + C:2DF5H LINE# 577 + C:2E02H LINE# 578 + C:2E08H LINE# 579 + C:2E13H LINE# 580 + C:2E17H LINE# 581 C:2E17H LINE# 582 - C:2E17H LINE# 583 - BL51 BANKED LINKER/LOCATER V6.22 12/15/2025 20:45:04 PAGE 24 + BL51 BANKED LINKER/LOCATER V6.22 12/16/2025 16:53:48 PAGE 24 + C:2E20H LINE# 583 C:2E20H LINE# 584 - C:2E20H LINE# 585 - C:2E25H LINE# 586 + C:2E25H LINE# 585 + C:2E32H LINE# 586 C:2E32H LINE# 587 - C:2E32H LINE# 588 ------- ENDPROC USART_ANSWER ------- PROC _SUMFUNC D:0009H SYMBOL answer @@ -1395,16 +1395,16 @@ SYMBOL TABLE OF MODULE: .\Objects\BLV_C12_Dimm_V19 (GPIO) D:0007H SYMBOL m D:0006H SYMBOL j ------- ENDDO - C:3AE4H LINE# 591 + C:3AE4H LINE# 590 + C:3AEAH LINE# 591 C:3AEAH LINE# 592 - C:3AEAH LINE# 593 - C:3AECH LINE# 595 + C:3AECH LINE# 594 + C:3AF2H LINE# 595 C:3AF2H LINE# 596 - C:3AF2H LINE# 597 - C:3AF7H LINE# 598 - C:3B07H LINE# 599 - C:3B0AH LINE# 600 - C:3B0DH LINE# 601 + C:3AF7H LINE# 597 + C:3B07H LINE# 598 + C:3B0AH LINE# 599 + C:3B0DH LINE# 600 ------- ENDPROC _SUMFUNC ------- ENDMOD UART_SET @@ -1439,7 +1439,7 @@ SYMBOL TABLE OF MODULE: .\Objects\BLV_C12_Dimm_V19 (GPIO) ------- DO D:0008H SYMBOL GPIO_InitStructure ------- ENDDO - BL51 BANKED LINKER/LOCATER V6.22 12/15/2025 20:45:04 PAGE 25 + BL51 BANKED LINKER/LOCATER V6.22 12/16/2025 16:53:48 PAGE 25 C:399EH LINE# 15 @@ -1499,7 +1499,7 @@ SYMBOL TABLE OF MODULE: .\Objects\BLV_C12_Dimm_V19 (GPIO) C:30F9H LINE# 80 C:3109H LINE# 81 C:3119H LINE# 82 - BL51 BANKED LINKER/LOCATER V6.22 12/15/2025 20:45:04 PAGE 26 + BL51 BANKED LINKER/LOCATER V6.22 12/16/2025 16:53:48 PAGE 26 C:3129H LINE# 83 @@ -1559,7 +1559,7 @@ SYMBOL TABLE OF MODULE: .\Objects\BLV_C12_Dimm_V19 (GPIO) C:2248H LINE# 151 C:2248H LINE# 152 C:2248H LINE# 153 - BL51 BANKED LINKER/LOCATER V6.22 12/15/2025 20:45:04 PAGE 27 + BL51 BANKED LINKER/LOCATER V6.22 12/16/2025 16:53:48 PAGE 27 C:2259H LINE# 154 @@ -1619,7 +1619,7 @@ SYMBOL TABLE OF MODULE: .\Objects\BLV_C12_Dimm_V19 (GPIO) C:1451H LINE# 210 C:1451H LINE# 211 C:1451H LINE# 212 - BL51 BANKED LINKER/LOCATER V6.22 12/15/2025 20:45:04 PAGE 28 + BL51 BANKED LINKER/LOCATER V6.22 12/16/2025 16:53:48 PAGE 28 C:1451H LINE# 213 @@ -1679,7 +1679,7 @@ SYMBOL TABLE OF MODULE: .\Objects\BLV_C12_Dimm_V19 (GPIO) C:3C52H LINE# 275 C:3C52H LINE# 276 C:3C52H LINE# 277 - BL51 BANKED LINKER/LOCATER V6.22 12/15/2025 20:45:04 PAGE 29 + BL51 BANKED LINKER/LOCATER V6.22 12/16/2025 16:53:48 PAGE 29 C:3C65H LINE# 278 @@ -1739,7 +1739,7 @@ SYMBOL TABLE OF MODULE: .\Objects\BLV_C12_Dimm_V19 (GPIO) ------- ENDPROC _PWM_WRITE ------- PROC SHOW_LIGHT ------- DO - BL51 BANKED LINKER/LOCATER V6.22 12/15/2025 20:45:04 PAGE 30 + BL51 BANKED LINKER/LOCATER V6.22 12/16/2025 16:53:48 PAGE 30 D:0008H SYMBOL i @@ -1799,7 +1799,7 @@ SYMBOL TABLE OF MODULE: .\Objects\BLV_C12_Dimm_V19 (GPIO) C:3633H LINE# 22 C:3644H LINE# 23 C:3657H LINE# 24 - BL51 BANKED LINKER/LOCATER V6.22 12/15/2025 20:45:04 PAGE 31 + BL51 BANKED LINKER/LOCATER V6.22 12/16/2025 16:53:48 PAGE 31 C:365BH LINE# 25 @@ -1859,7 +1859,7 @@ SYMBOL TABLE OF MODULE: .\Objects\BLV_C12_Dimm_V19 (GPIO) C:3AB3H PUBLIC PWM4_Handler C:2AFCH PUBLIC _PWM15_Init D:00F1H PUBLIC PWMSET - BL51 BANKED LINKER/LOCATER V6.22 12/15/2025 20:45:04 PAGE 32 + BL51 BANKED LINKER/LOCATER V6.22 12/16/2025 16:53:48 PAGE 32 C:2EA1H PUBLIC PWMxT1 @@ -1919,7 +1919,7 @@ SYMBOL TABLE OF MODULE: .\Objects\BLV_C12_Dimm_V19 (GPIO) D:0082H SYMBOL pPWMxT1 D:0082H SYMBOL pPWMxT2 ------- ENDDO - BL51 BANKED LINKER/LOCATER V6.22 12/15/2025 20:45:04 PAGE 33 + BL51 BANKED LINKER/LOCATER V6.22 12/16/2025 16:53:48 PAGE 33 C:3752H LINE# 277 @@ -1979,7 +1979,7 @@ SYMBOL TABLE OF MODULE: .\Objects\BLV_C12_Dimm_V19 (GPIO) C:2B71H LINE# 347 C:2B83H LINE# 348 C:2B91H LINE# 349 - BL51 BANKED LINKER/LOCATER V6.22 12/15/2025 20:45:04 PAGE 34 + BL51 BANKED LINKER/LOCATER V6.22 12/16/2025 16:53:48 PAGE 34 C:2B94H LINE# 350 @@ -2039,7 +2039,7 @@ SYMBOL TABLE OF MODULE: .\Objects\BLV_C12_Dimm_V19 (GPIO) C:0048H LINE# 416 C:004AH LINE# 417 C:004AH LINE# 418 - BL51 BANKED LINKER/LOCATER V6.22 12/15/2025 20:45:04 PAGE 35 + BL51 BANKED LINKER/LOCATER V6.22 12/16/2025 16:53:48 PAGE 35 C:004CH LINE# 419 @@ -2099,7 +2099,7 @@ SYMBOL TABLE OF MODULE: .\Objects\BLV_C12_Dimm_V19 (GPIO) C:3AA4H LINE# 491 C:3AA6H LINE# 492 C:3AA6H LINE# 493 - BL51 BANKED LINKER/LOCATER V6.22 12/15/2025 20:45:04 PAGE 36 + BL51 BANKED LINKER/LOCATER V6.22 12/16/2025 16:53:48 PAGE 36 C:3AA8H LINE# 494 @@ -2159,7 +2159,7 @@ SYMBOL TABLE OF MODULE: .\Objects\BLV_C12_Dimm_V19 (GPIO) B:00A8H.3 PUBLIC ET1 D:008CH PUBLIC TH0 D:008DH PUBLIC TH1 - BL51 BANKED LINKER/LOCATER V6.22 12/15/2025 20:45:04 PAGE 37 + BL51 BANKED LINKER/LOCATER V6.22 12/16/2025 16:53:48 PAGE 37 D:00D6H PUBLIC TH2 @@ -2219,7 +2219,7 @@ SYMBOL TABLE OF MODULE: .\Objects\BLV_C12_Dimm_V19 (GPIO) C:2620H LINE# 72 C:2627H LINE# 73 C:2634H LINE# 74 - BL51 BANKED LINKER/LOCATER V6.22 12/15/2025 20:45:04 PAGE 38 + BL51 BANKED LINKER/LOCATER V6.22 12/16/2025 16:53:48 PAGE 38 C:263AH LINE# 75 @@ -2279,7 +2279,7 @@ SYMBOL TABLE OF MODULE: .\Objects\BLV_C12_Dimm_V19 (GPIO) C:2806H LINE# 135 C:2809H LINE# 137 C:281BH LINE# 138 - BL51 BANKED LINKER/LOCATER V6.22 12/15/2025 20:45:04 PAGE 39 + BL51 BANKED LINKER/LOCATER V6.22 12/16/2025 16:53:48 PAGE 39 C:2827H LINE# 139 @@ -2339,7 +2339,7 @@ SYMBOL TABLE OF MODULE: .\Objects\BLV_C12_Dimm_V19 (GPIO) C:3C1BH LINE# 14 C:3C25H LINE# 15 ------- ENDPROC KEY_INIT - BL51 BANKED LINKER/LOCATER V6.22 12/15/2025 20:45:04 PAGE 40 + BL51 BANKED LINKER/LOCATER V6.22 12/16/2025 16:53:48 PAGE 40 ------- PROC KEY_SCANTASK @@ -2399,7 +2399,7 @@ SYMBOL TABLE OF MODULE: .\Objects\BLV_C12_Dimm_V19 (GPIO) C:340DH LINE# 75 C:340DH LINE# 76 C:3413H LINE# 77 - BL51 BANKED LINKER/LOCATER V6.22 12/15/2025 20:45:04 PAGE 41 + BL51 BANKED LINKER/LOCATER V6.22 12/16/2025 16:53:48 PAGE 41 C:3419H LINE# 78 @@ -2459,7 +2459,7 @@ SYMBOL TABLE OF MODULE: .\Objects\BLV_C12_Dimm_V19 (GPIO) C:3211H LINE# 130 C:3213H LINE# 131 C:3213H LINE# 132 - BL51 BANKED LINKER/LOCATER V6.22 12/15/2025 20:45:04 PAGE 42 + BL51 BANKED LINKER/LOCATER V6.22 12/16/2025 16:53:48 PAGE 42 C:321DH LINE# 133 @@ -2519,7 +2519,7 @@ SYMBOL TABLE OF MODULE: .\Objects\BLV_C12_Dimm_V19 (GPIO) C:3B5CH LINE# 28 C:3B5FH LINE# 29 ------- ENDPROC _WDT_INILIZE - BL51 BANKED LINKER/LOCATER V6.22 12/15/2025 20:45:04 PAGE 43 + BL51 BANKED LINKER/LOCATER V6.22 12/16/2025 16:53:48 PAGE 43 ------- PROC WDT_CLEAR @@ -2579,7 +2579,7 @@ SYMBOL TABLE OF MODULE: .\Objects\BLV_C12_Dimm_V19 (GPIO) ------- ENDMOD ?C?ULDIV ------- MODULE ?C?LNEG - BL51 BANKED LINKER/LOCATER V6.22 12/15/2025 20:45:04 PAGE 44 + BL51 BANKED LINKER/LOCATER V6.22 12/16/2025 16:53:48 PAGE 44 C:1C9EH PUBLIC ?C?LNEG @@ -2639,7 +2639,7 @@ SYMBOL TABLE OF MODULE: .\Objects\BLV_C12_Dimm_V19 (GPIO) *** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS SEGMENT: ?PR?_PRINTSTRING3?UART - BL51 BANKED LINKER/LOCATER V6.22 12/15/2025 20:45:04 PAGE 45 + BL51 BANKED LINKER/LOCATER V6.22 12/16/2025 16:53:48 PAGE 45 *** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS diff --git a/Listings/GPIO.lst b/Listings/GPIO.lst index 28482aa..3999587 100644 --- a/Listings/GPIO.lst +++ b/Listings/GPIO.lst @@ -1,4 +1,4 @@ -C51 COMPILER V9.01 GPIO 12/15/2025 20:45:03 PAGE 1 +C51 COMPILER V9.01 GPIO 12/16/2025 16:53:47 PAGE 1 C51 COMPILER V9.01, COMPILATION OF MODULE GPIO @@ -62,7 +62,7 @@ line level source 52 2 if(GPIOx->Mode == GPIO_HighZ) P5M1 |= GPIOx->Pin, P5M0 &= ~GPIOx->Pin; //浮空输入 53 2 if(GPIOx->Mode == GPIO_OUT_OD) P5M1 |= GPIOx->Pin, P5M0 |= GPIOx->Pin; //开漏输出 54 2 if(GPIOx->Mode == GPIO_OUT_PP) P5M1 &= ~GPIOx->Pin, P5M0 |= GPIOx->Pin; //推挽输出 - C51 COMPILER V9.01 GPIO 12/15/2025 20:45:03 PAGE 2 + C51 COMPILER V9.01 GPIO 12/16/2025 16:53:47 PAGE 2 55 2 } 56 1 if(GPIO == GPIO_P6) diff --git a/Listings/PWM15bit.lst b/Listings/PWM15bit.lst index e9a5dbc..637753b 100644 --- a/Listings/PWM15bit.lst +++ b/Listings/PWM15bit.lst @@ -1,4 +1,4 @@ -C51 COMPILER V9.01 PWM15BIT 12/15/2025 20:45:04 PAGE 1 +C51 COMPILER V9.01 PWM15BIT 12/16/2025 16:53:47 PAGE 1 C51 COMPILER V9.01, COMPILATION OF MODULE PWM15BIT @@ -62,7 +62,7 @@ line level source 52 0xfc84, /* PWM44CR */ 53 0xfc8c, /* PWM45CR */ 54 0xfc94, /* PWM46CR */ - C51 COMPILER V9.01 PWM15BIT 12/15/2025 20:45:04 PAGE 2 + C51 COMPILER V9.01 PWM15BIT 12/16/2025 16:53:47 PAGE 2 55 0xfc9c, /* PWM47CR */ 56 0xfcb4, /* PWM50CR */ @@ -126,7 +126,7 @@ line level source 114 0xfce8, /* PWM57T1 */ 115 }; 116 - C51 COMPILER V9.01 PWM15BIT 12/15/2025 20:45:04 PAGE 3 + C51 COMPILER V9.01 PWM15BIT 12/16/2025 16:53:47 PAGE 3 117 u16 code PWMxT2[48] = { 118 0xff12, /* PWM00T2 */ @@ -190,7 +190,7 @@ line level source 176 0xff4d, /* PWM07HLD */ 177 0xff65, /* PWM10HLD */ 178 0xff6d, /* PWM11HLD */ - C51 COMPILER V9.01 PWM15BIT 12/15/2025 20:45:04 PAGE 4 + C51 COMPILER V9.01 PWM15BIT 12/16/2025 16:53:47 PAGE 4 179 0xff75, /* PWM12HLD */ 180 0xff7d, /* PWM13HLD */ @@ -254,7 +254,7 @@ line level source 238 1 if(pwm_eni > 1) return 2; //中断使能控制错误 239 1 if(pwm_ent2i > 1) return 2; //第二个触发点中断使能控制错误 240 1 if(pwm_ent1i > 1) return 2; //第一个触发点中断使能控制错误 - C51 COMPILER V9.01 PWM15BIT 12/15/2025 20:45:04 PAGE 5 + C51 COMPILER V9.01 PWM15BIT 12/16/2025 16:53:47 PAGE 5 241 1 242 1 EAXSFR(); /* MOVX A,@DPTR/MOVX @DPTR,A指令的操作对象为扩展SFR(XSFR) */ @@ -318,7 +318,7 @@ line level source 300 // pwm_hldh: pwm强制输出高电平控制位, 0正常输出, 1强制输出高电平. 301 // 返回: 0:正确, 2:错误. 302 // 版本: V1.0, 2020-09-22 - C51 COMPILER V9.01 PWM15BIT 12/15/2025 20:45:04 PAGE 6 + C51 COMPILER V9.01 PWM15BIT 12/16/2025 16:53:47 PAGE 6 303 //======================================================================== 304 u8 PWMLevelSet(u8 PWM_id, u8 pwm_hldl, u8 pwm_hldh) @@ -382,7 +382,7 @@ line level source 362 1 if(PWM_id == PWM3) 363 1 { 364 2 if(PWMx->PWM_Enable == ENABLE) PWM15_PWM3_Enable(); //使能PWM3 - C51 COMPILER V9.01 PWM15BIT 12/15/2025 20:45:04 PAGE 7 + C51 COMPILER V9.01 PWM15BIT 12/16/2025 16:53:47 PAGE 7 365 2 else PWM15_PWM3_Disable(); //关闭PWM3 366 2 PWM3_PS_Set(PWMx->PWM_Clock_PS); //系统时钟分频参数, 0~15 @@ -446,7 +446,7 @@ line level source 424 // 返回: none. 425 // 版本: V1.0, 2020-10-13 426 //======================================================================== - C51 COMPILER V9.01 PWM15BIT 12/15/2025 20:45:04 PAGE 8 + C51 COMPILER V9.01 PWM15BIT 12/16/2025 16:53:47 PAGE 8 427 void PWM1_Handler (void) interrupt PWM1_VECTOR 428 { @@ -510,7 +510,7 @@ line level source 486 2 // TODO: 在此处添加用户代码 487 2 } 488 1 if(PWM3IF) - C51 COMPILER V9.01 PWM15BIT 12/15/2025 20:45:04 PAGE 9 + C51 COMPILER V9.01 PWM15BIT 12/16/2025 16:53:47 PAGE 9 489 1 { 490 2 PWM3IF = 0; diff --git a/Listings/Start_Init.lst b/Listings/Start_Init.lst index 336336c..b5c7bc3 100644 --- a/Listings/Start_Init.lst +++ b/Listings/Start_Init.lst @@ -1,4 +1,4 @@ -C51 COMPILER V9.01 START_INIT 12/15/2025 20:45:04 PAGE 1 +C51 COMPILER V9.01 START_INIT 12/16/2025 16:53:47 PAGE 1 C51 COMPILER V9.01, COMPILATION OF MODULE START_INIT @@ -63,7 +63,7 @@ MODULE INFORMATION: STATIC OVERLAYABLE BIT SIZE = ---- ---- END OF MODULE INFORMATION. - C51 COMPILER V9.01 START_INIT 12/15/2025 20:45:04 PAGE 2 + C51 COMPILER V9.01 START_INIT 12/16/2025 16:53:47 PAGE 2 C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S) diff --git a/Listings/UART.lst b/Listings/UART.lst index 76f958a..8c90417 100644 --- a/Listings/UART.lst +++ b/Listings/UART.lst @@ -1,4 +1,4 @@ -C51 COMPILER V9.01 UART 12/15/2025 20:45:03 PAGE 1 +C51 COMPILER V9.01 UART 12/16/2025 16:53:47 PAGE 1 C51 COMPILER V9.01, COMPILATION OF MODULE UART @@ -62,7 +62,7 @@ line level source 52 2 for(i=0; iUART_Priority > Priority_3) return 2; //错误 56 2 UART1_Priority(COMx->UART_Priority); //指定中断优先级(低到高) Priority_0,Priority_1,Priority_2,Priority_ @@ -126,7 +126,7 @@ line level source COM2.TX_read = 0; COM2.TX_write = 0; COM2.B_TX_busy = 0; - C51 COMPILER V9.01 UART 12/15/2025 20:45:03 PAGE 3 + C51 COMPILER V9.01 UART 12/16/2025 16:53:47 PAGE 3 COM2.RX_Cnt = 0; COM2.RX_TimeOut = 0; @@ -190,7 +190,7 @@ line level source 173 4 TH3 = (u8)(j>>8); 174 4 TL3 = (u8)j; 175 4 T4T3M &= 0xf0; - C51 COMPILER V9.01 UART 12/15/2025 20:45:03 PAGE 4 + C51 COMPILER V9.01 UART 12/16/2025 16:53:47 PAGE 4 176 4 T4T3M |= 0x0a; //Timer3 set As Timer, 1T mode, Start timer3 177 4 } @@ -254,7 +254,7 @@ line level source AUXR &= ~(1<<3); //Timer2 set As Timer AUXR |= (1<<2); //Timer2 set as 1T mode TH2 = (u8)(j>>8); - C51 COMPILER V9.01 UART 12/15/2025 20:45:03 PAGE 5 + C51 COMPILER V9.01 UART 12/16/2025 16:53:47 PAGE 5 TL2 = (u8)j; IE2 &= ~(1<<2); //禁止中断 @@ -318,7 +318,7 @@ line level source 296 3 if(COM1.RX_Cnt >= COM_RX1_Lenth) COM1.RX_Cnt = 0; 297 3 if(dat=='D') //连续10个'D',进入系统区 298 3 { - C51 COMPILER V9.01 UART 12/15/2025 20:45:03 PAGE 6 + C51 COMPILER V9.01 UART 12/16/2025 16:53:47 PAGE 6 299 4 stage++; 300 4 } @@ -382,7 +382,7 @@ line level source if(TI2) { - C51 COMPILER V9.01 UART 12/15/2025 20:45:03 PAGE 7 + C51 COMPILER V9.01 UART 12/16/2025 16:53:47 PAGE 7 CLR_TI2(); if(COM2.TX_read != COM2.TX_write) @@ -446,7 +446,7 @@ line level source 420 2 else COM3.B_TX_busy = 0; 421 2 } 422 1 } - C51 COMPILER V9.01 UART 12/15/2025 20:45:03 PAGE 8 + C51 COMPILER V9.01 UART 12/16/2025 16:53:47 PAGE 8 423 #endif 424 @@ -510,7 +510,7 @@ line level source -ty_2,Priority_3 480 1 COMx_InitStructure.UART_P_SW = UART3_SW_P50_P51; //切换端口, UART3_SW_P00_P01,UART3_SW_P50_P51 481 1 UART_Configuration(UART3, &COMx_InitStructure); //初始化串口3 UART1,UART2,UART3,UART4 - C51 COMPILER V9.01 UART 12/15/2025 20:45:03 PAGE 9 + C51 COMPILER V9.01 UART 12/16/2025 16:53:47 PAGE 9 482 1 483 1 //PrintString3("STC8 UART3 Test Programme!\r\n"); //UART3发送一个字符串 diff --git a/Listings/UART_Set.lst b/Listings/UART_Set.lst index dbc741a..00277a0 100644 --- a/Listings/UART_Set.lst +++ b/Listings/UART_Set.lst @@ -1,4 +1,4 @@ -C51 COMPILER V9.01 UART_SET 12/15/2025 20:45:04 PAGE 1 +C51 COMPILER V9.01 UART_SET 12/16/2025 16:53:47 PAGE 1 C51 COMPILER V9.01, COMPILATION OF MODULE UART_SET @@ -23,21 +23,20 @@ line level source 13 14 u8 debug = 0x00; 15 - 16 - 17 /* - 18 判断接收的指令是否合法 - 19 */ - 20 void Usart_judge_Data(void) - 21 { - 22 1 u8 len = 0; - 23 1 u8 i, sum; - 24 1 sum = 0; - 25 1 g_Usart.ok_flag = 0; - 26 1 - 27 1 if((recv_start_flag==1)&&(systick_1ms-recv_time>8)) - 28 1 { - 29 2 recv_start_flag=0; - 30 2 #if DEBUG_ + 16 /* + 17 判断接收的指令是否合法 + 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_ { for(i=0;i s_recv.B_max) - 130 5 { - 131 6 s_recv.B_Ch[i] = s_recv.B_max; - 132 6 } - 133 5 - 134 5 s_pwm.wanttopwm[i] = PWM_MAX_VALUE - s_recv.B_Ch[i] * PWM_MAX_VALUE * s_recv.global_ + 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_ -brightness / 100 / 100 * s_recv.key_status[i]; - 135 5 s_pwm.doublecurrpwm[i] = s_pwm.currpwm[i]; //更新调光起始点 - 136 5 - 137 5 s_recv.gradual_time[i] = g_Usart.recv_buffer[9] * 10; /*接收的渐变时间*/ - 138 5 /* - 139 5 除数不能为零 - 140 5 */ - 141 5 if (s_recv.gradual_time[i] == 0) - 142 5 { - 143 6 s_recv.gradual_time[i] = 1; - 144 6 } - 145 5 - 146 5 /*计算10ms处理的pwm步进值*/ - 147 5 if (s_pwm.wanttopwm[i] > s_pwm.currpwm[i]) - 148 5 { - 149 6 s_pwm.every_change_10ms[i] = (float)(s_pwm.wanttopwm[i] - s_pwm.currpwm[i]) / s_ + 134 5 s_pwm.doublecurrpwm[i] = s_pwm.currpwm[i]; //更新调光起始点 + 135 5 + 136 5 s_recv.gradual_time[i] = g_Usart.recv_buffer[9] * 10; /*接收的渐变时间*/ + 137 5 /* + 138 5 除数不能为零 + 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 /*计算10ms处理的pwm步进值*/ + 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_ -recv.gradual_time[i]; - 150 6 if (s_pwm.every_change_10ms[i] < 1) - 151 6 { - 152 7 s_pwm.every_change_10ms[i] = 1; - 153 7 } - 154 6 } - 155 5 - 156 5 if (s_pwm.wanttopwm[i] < s_pwm.currpwm[i]) - 157 5 { - 158 6 s_pwm.every_change_10ms[i] = (float)(s_pwm.currpwm[i] - s_pwm.wanttopwm[i]) / s_ + 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_ -recv.gradual_time[i]; - 159 6 if (s_pwm.every_change_10ms[i] < 1) - 160 6 { - 161 7 s_pwm.every_change_10ms[i] = 1; - 162 7 } - 163 6 } - 164 5 } - 165 4 } - 166 3 - 167 3 //第二个使能位 - 168 3 for (i = 0; i < 4; i++) - 169 3 { - 170 4 if (g_Usart.recv_buffer[8] & (1 << i)) - 171 4 { - 172 5 s_recv.flag1[i+8] = 1; - 173 5 s_recv.flag2[i+8] = 0; - C51 COMPILER V9.01 UART_SET 12/15/2025 20:45:04 PAGE 4 + 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 //第二个使能位 + 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 - 174 5 s_recv.B_Ch[i+8] = g_Usart.recv_buffer[13 - i]; - 175 5 - 176 5 if (s_recv.B_Ch[i+8] < s_recv.B_min) - 177 5 { - 178 6 s_recv.B_Ch[i+8] = s_recv.B_min; - 179 6 } - 180 5 - 181 5 if (s_recv.B_Ch[i+8] > s_recv.B_max) - 182 5 { - 183 6 s_recv.B_Ch[i+8] = s_recv.B_max; - 184 6 } - 185 5 - 186 5 s_pwm.wanttopwm[i+8] = PWM_MAX_VALUE - s_recv.B_Ch[i+8] * PWM_MAX_VALUE * s_recv.g + 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 -lobal_brightness / 100 / 100 * s_recv.key_status[i+8]; - 187 5 s_pwm.doublecurrpwm[i] = s_pwm.currpwm[i]; //更新调光起始点 - 188 5 - 189 5 s_recv.gradual_time[i+8] = g_Usart.recv_buffer[9] * 10; /*接收的渐变时间*/ - 190 5 - 191 5 /* - 192 5 除数不能为零 - 193 5 */ - 194 5 if (s_recv.gradual_time[i+8] == 0) - 195 5 { - 196 6 s_recv.gradual_time[i+8] = 1; - 197 6 } - 198 5 - 199 5 /*计算10ms处理的pwm步进值*/ - 200 5 if (s_pwm.wanttopwm[i+8] > s_pwm.currpwm[i+8]) - 201 5 { - 202 6 s_pwm.every_change_10ms[i+8] = (float)(s_pwm.wanttopwm[i+8] - s_pwm.currpwm[i+ + 186 5 s_pwm.doublecurrpwm[i] = s_pwm.currpwm[i]; //更新调光起始点 + 187 5 + 188 5 s_recv.gradual_time[i+8] = g_Usart.recv_buffer[9] * 10; /*接收的渐变时间*/ + 189 5 + 190 5 /* + 191 5 除数不能为零 + 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 /*计算10ms处理的pwm步进值*/ + 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+ -8]) / s_recv.gradual_time[i+8]; - 203 6 if (s_pwm.every_change_10ms[i+8] < 1) - 204 6 { - 205 7 s_pwm.every_change_10ms[i+8] = 1; - 206 7 } - 207 6 } + 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 208 5 - 209 5 - 210 5 if (s_pwm.wanttopwm[i+8] < s_pwm.currpwm[i+8]) - 211 5 { - 212 6 s_pwm.every_change_10ms[i+8] = (float)(s_pwm.currpwm[i+8] - s_pwm.wanttopwm[i + 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 -+8]) / s_recv.gradual_time[i+8]; - 213 6 if (s_pwm.every_change_10ms[i+8] < 1) - 214 6 { - 215 7 s_pwm.every_change_10ms[i+8] = 1; - 216 7 } - 217 6 } - 218 5 } - 219 4 } - 220 3 - 221 3 g_answer.short_answer_flag=0x01; - 222 3 break; + 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 223 3 - 224 3 - 225 3 //设置模式:递增、递减和循环 - 226 3 case USART_CMD_SET_MODE: - 227 3 g_answer.short_answer[UART_FMT_CMD]=USART_CMD_SET_MODE_A; - 228 3 if(debug) - 229 3 { - 230 4 PrintString1("change light"); - 231 4 } - 232 3 - C51 COMPILER V9.01 UART_SET 12/15/2025 20:45:04 PAGE 5 + 224 3 //设置模式:递增、递减和循环 + 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 - 233 3 for (i = 0; i < 8; i++) - 234 3 { - 235 4 if (g_Usart.recv_buffer[7] & (1 << i)) - 236 4 { - 237 5 s_recv.flag1[i] = 0; - 238 5 s_recv.flag2[i] = 1; - 239 5 s_recv.mode[i] = g_Usart.recv_buffer[9]; - 240 5 s_recv.pwm_step[i] = g_Usart.recv_buffer[11]; - 241 5 - 242 5 if (s_recv.mode[i] == 0x00) - 243 5 { - 244 6 if (g_Usart.recv_buffer[10] == 0x00) - 245 6 { - 246 7 s_recv.forward[i] = 0; - 247 7 } - 248 6 - 249 6 if (g_Usart.recv_buffer[10] == 0x01) - 250 6 { - 251 7 s_recv.forward[i] = 1; - 252 7 } - 253 6 - 254 6 if (g_Usart.recv_buffer[10] == 0x02) //翻转 - 255 6 { - 256 7 if (s_recv.forward[i] == 0x01) - 257 7 { - 258 8 s_recv.forward[i] = 0x00; - 259 8 continue; // 为防止翻转之后直接进入下一个状态 - 260 8 } - 261 7 - 262 7 if (s_recv.forward[i] == 0x00) - 263 7 { - 264 8 s_recv.forward[i] = 0x01; - 265 8 continue; - 266 8 } - 267 7 } - 268 6 } - 269 5 } - 270 4 } + 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) //翻转 + 254 6 { + 255 7 if (s_recv.forward[i] == 0x01) + 256 7 { + 257 8 s_recv.forward[i] = 0x00; + 258 8 continue; // 为防止翻转之后直接进入下一个状态 + 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 271 3 - 272 3 - 273 3 for (i = 0; i < 4; i++) - 274 3 { - 275 4 if (g_Usart.recv_buffer[8] & (1 << i)) - 276 4 { - 277 5 s_recv.flag1[i+8] = 0; - 278 5 s_recv.flag2[i+8] = 1; - 279 5 s_recv.mode[i+8] = g_Usart.recv_buffer[9]; - 280 5 s_recv.pwm_step[i+8] = g_Usart.recv_buffer[11]; - 281 5 - 282 5 if (s_recv.mode[i+8] == 0x00) - 283 5 { - 284 6 if (g_Usart.recv_buffer[10] == 0x00) - 285 6 { - 286 7 s_recv.forward[i+8] = 0; - 287 7 } - 288 6 - 289 6 if (g_Usart.recv_buffer[10] == 0x01) - 290 6 { - 291 7 s_recv.forward[i+8] = 1; - 292 7 } - 293 6 - 294 6 if (g_Usart.recv_buffer[10] == 0x02) //翻转 - C51 COMPILER V9.01 UART_SET 12/15/2025 20:45:04 PAGE 6 + 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) //翻转 + 294 6 { + C51 COMPILER V9.01 UART_SET 12/16/2025 16:53:47 PAGE 6 - 295 6 { - 296 7 if (s_recv.forward[i+8] == 0x01) - 297 7 { - 298 8 s_recv.forward[i+8] = 0x00; - 299 8 continue; // 为防止翻转之后直接进入下一个状态 - 300 8 } - 301 7 - 302 7 if (s_recv.forward[i+8] == 0x00) - 303 7 { - 304 8 s_recv.forward[i+8] = 0x01; - 305 8 continue; - 306 8 } - 307 7 } - 308 6 } - 309 5 } - 310 4 } - 311 3 g_answer.short_answer_flag=0x01; - 312 3 break; + 295 7 if (s_recv.forward[i+8] == 0x01) + 296 7 { + 297 8 s_recv.forward[i+8] = 0x00; + 298 8 continue; // 为防止翻转之后直接进入下一个状态 + 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 313 3 - 314 3 - 315 3 //设置整体亮度 - 316 3 case USART_CMD_ALL_BRIGHTNESS: - 317 3 g_answer.short_answer[UART_FMT_CMD]=USART_CMD_ALL_BRIGHTNESS_A; - 318 3 - 319 3 if(debug) - 320 3 { - 321 4 PrintString1("global light"); - 322 4 } - 323 3 - 324 3 // s_recv.changeflag = 1; - 325 3 if (g_Usart.recv_buffer[7] & (1 << 5)) //全局可调下限 - 326 3 { - 327 4 s_recv.B_min = g_Usart.recv_buffer[10]; - 328 4 for (i = 0; i < 12; i++) - 329 4 { - 330 5 if ( s_pwm.currvalue[i] < s_recv.B_min) - 331 5 { - 332 6 s_pwm.currvalue[i] = s_recv.B_min; - 333 6 } - 334 5 } - 335 4 } - 336 3 - 337 3 if (g_Usart.recv_buffer[7] & (1 << 6)) //全局可调上限 - 338 3 { - 339 4 s_recv.B_max = g_Usart.recv_buffer[9]; - 340 4 for (i = 0; i < 12; i++) - 341 4 { - 342 5 if ( s_pwm.currvalue[i] > s_recv.B_max) - 343 5 { - 344 6 s_pwm.currvalue[i] = s_recv.B_max; - 345 6 } - 346 5 } - 347 4 } - 348 3 - 349 3 if (g_Usart.recv_buffer[7] & (1 << 7)) //全局亮度 - 350 3 { - 351 4 s_recv.global_brightness = g_Usart.recv_buffer[8]; - 352 4 - 353 4 for (i = 0; i < 12; i++) - 354 4 { - 355 5 // s_pwm.wanttopwmflash[i] = PWM_MAX_VALUE - s_pwm.currvalue[i] * PWM_MAX_VALUE * + 314 3 //设置整体亮度 + 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)) //全局可调下限 + 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)) //全局可调上限 + 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)) //全局亮度 + 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 * -s_recv.global_brightness / 100 / 100 * s_recv.key_status[i]; - C51 COMPILER V9.01 UART_SET 12/15/2025 20:45:04 PAGE 7 + 355 5 + C51 COMPILER V9.01 UART_SET 12/16/2025 16:53:47 PAGE 7 - 356 5 - 357 5 s_recv.flag1[i] = 1; - 358 5 s_recv.flag2[i] = 0; - 359 5 - 360 5 s_pwm.wanttopwm[i] = PWM_MAX_VALUE - s_recv.B_Ch[i] * PWM_MAX_VALUE * s_recv.glo + 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 -bal_brightness / 100 / 100 * s_recv.key_status[i]; - 361 5 s_pwm.doublecurrpwm[i] = s_pwm.currpwm[i]; //更新调光起始点 - 362 5 if(s_pwm.wanttopwm[i] > PWM_MAX_VALUE) - 363 5 { - 364 6 s_pwm.wanttopwm[i] = PWM_MAX_VALUE; - 365 6 } - 366 5 - 367 5 /*计算10ms处理的pwm步进值*/ - 368 5 if (s_pwm.wanttopwm[i] > s_pwm.currpwm[i]) - 369 5 { - 370 6 s_pwm.every_change_10ms[i] = (float)(s_pwm.wanttopwm[i] - s_pwm.currpwm[i]) + 360 5 s_pwm.doublecurrpwm[i] = s_pwm.currpwm[i]; //更新调光起始点 + 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 /*计算10ms处理的pwm步进值*/ + 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]) -/ s_recv.gradual_time[i]; - 371 6 if (s_pwm.every_change_10ms[i] < 1) - 372 6 { - 373 7 s_pwm.every_change_10ms[i] = 1; - 374 7 } - 375 6 } - 376 5 - 377 5 if (s_pwm.wanttopwm[i] < s_pwm.currpwm[i]) - 378 5 { - 379 6 s_pwm.every_change_10ms[i] = (float)(s_pwm.currpwm[i] - s_pwm.wanttopwm[i]) + 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]) -/ s_recv.gradual_time[i]; - 380 6 if (s_pwm.every_change_10ms[i] < 1) - 381 6 { - 382 7 s_pwm.every_change_10ms[i] = 1; - 383 7 } - 384 6 } - 385 5 } - 386 4 } - 387 3 - 388 3 - 389 3 g_answer.short_answer_flag=0x01; - 390 3 break; + 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 391 3 - 392 3 - 393 3 //设置开关状态 - 394 3 case USART_CMD_SWITCH_STATUS: - 395 3 g_answer.short_answer[UART_FMT_CMD]=USART_CMD_SWITCH_STATUS_A; - 396 3 if(debug) - 397 3 { - 398 4 PrintString1("switch state"); - 399 4 } - 400 3 - 401 3 for (i = 0; i < 8; i++) - 402 3 { - 403 4 if (g_Usart.recv_buffer[7] & (1 << i)) - 404 4 { - 405 5 if (g_Usart.recv_buffer[9 + i] == 0x01) - 406 5 { - 407 6 s_recv.key_status[i] = 0x01; - 408 6 //s_pwm.currvalue[i] = s_pwm.thenvalue[i]; - 409 6 Open_Light(i); - 410 6 } - 411 5 - 412 5 if (g_Usart.recv_buffer[9 + i] == 0x00) - 413 5 { - 414 6 //s_pwm.thenvalue[i] = s_pwm.currvalue[i]; - C51 COMPILER V9.01 UART_SET 12/15/2025 20:45:04 PAGE 8 + 392 3 //设置开关状态 + 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 - 415 6 Close_Light(i); - 416 6 s_recv.flag1[i] = 0; - 417 6 s_recv.flag2[i] = 0; - 418 6 s_recv.mode[i] = 2; - 419 6 s_recv.key_status[i] = 0x00; - 420 6 } - 421 5 - 422 5 if (g_Usart.recv_buffer[9 + i] == 0x02) - 423 5 { - 424 6 if (s_recv.key_status[i] == 0x00) - 425 6 { - 426 7 s_recv.key_status[i] = 0x01; - 427 7 //s_pwm.currvalue[i] = s_pwm.thenvalue[i]; - 428 7 Open_Light(i); - 429 7 continue; - 430 7 } - 431 6 - 432 6 if (s_recv.key_status[i] == 0x01) - 433 6 { - 434 7 //s_pwm.thenvalue[i] = s_pwm.currvalue[i]; - 435 7 Close_Light(i); - 436 7 s_recv.flag1[i] = 0; - 437 7 s_recv.flag2[i] = 0; - 438 7 s_recv.mode[i] = 2; - 439 7 s_recv.key_status[i] = 0x00; - 440 7 continue; - 441 7 } - 442 6 } - 443 5 } - 444 4 } + 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 445 3 - 446 3 - 447 3 for (i = 0; i < 4; i++) - 448 3 { - 449 4 if (g_Usart.recv_buffer[8] & (1 << i)) - 450 4 { - 451 5 if (g_Usart.recv_buffer[9 + 8 + i] == 0x01) - 452 5 { - 453 6 s_recv.key_status[i+8] = 0x01; - 454 6 //s_pwm.currvalue[i+8] = s_pwm.thenvalue[i]; - 455 6 Open_Light(i+8); - 456 6 } - 457 5 - 458 5 if (g_Usart.recv_buffer[9 +8 + i] == 0x00) - 459 5 { - 460 6 //s_pwm.thenvalue[i+8] = s_pwm.currvalue[i+8]; - 461 6 Close_Light(i+8); - 462 6 s_recv.flag1[i+8] = 0; - 463 6 s_recv.flag2[i+8] = 0; - 464 6 s_recv.mode[i+8] = 2; - 465 6 s_recv.key_status[i+8] = 0x00; - 466 6 } - 467 5 - 468 5 if (g_Usart.recv_buffer[9 + 8 + i] == 0x02) - 469 5 { - 470 6 if (s_recv.key_status[i+8] == 0x00) - 471 6 { - 472 7 s_recv.key_status[i+8] = 0x01; - 473 7 //s_pwm.currvalue[i+8] = s_pwm.thenvalue[i]; - 474 7 Open_Light(i+8); - 475 7 continue; - 476 7 } - C51 COMPILER V9.01 UART_SET 12/15/2025 20:45:04 PAGE 9 + 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 477 6 - 478 6 - 479 6 if (s_recv.key_status[i+8] == 0x01) - 480 6 { - 481 7 //s_pwm.thenvalue[i+8] = s_pwm.currvalue[i+8]; - 482 7 Close_Light(i+8); - 483 7 s_recv.flag1[i+8] = 0; - 484 7 s_recv.flag2[i+8] = 0; - 485 7 s_recv.mode[i+8] = 2; - 486 7 s_recv.key_status[i+8] = 0x00; - 487 7 continue; - 488 7 } - 489 6 } - 490 5 } - 491 4 } - 492 3 g_answer.short_answer_flag=0x01; - 493 3 break; - 494 3 case USART_CMD_DEBUG_SET: - 495 3 g_answer.short_answer[UART_FMT_CMD]=USART_CMD_DEBUG_SET_A; - 496 3 if(debug) - 497 3 { - 498 4 PrintString1("debug"); - 499 4 } - 500 3 debug = g_Usart.recv_buffer[7]; - 501 3 g_answer.short_answer_flag=0x01; - 502 3 break; - 503 3 case Usart_CMD_Version: - 504 3 g_answer.version_answer[UART_FMT_CMD]=Usart_CMD_Version_A; - 505 3 g_answer.version_answer_flag=0x01; - 506 3 if(debug) - 507 3 { - 508 4 PrintString1("version"); - 509 4 } - 510 3 break; - 511 3 } - 512 2 g_Usart.ok_flag=0; - 513 2 } - 514 1 } - 515 - 516 void Usart_answer(void) - 517 { - 518 1 u8 i=0; - 519 1 u8 checksum=0; - 520 1 if(g_answer.long_answer_flag) - 521 1 { - 522 2 g_answer.long_answer[UART_FMT_ADDR_TX]=ADDR_RX; - 523 2 g_answer.long_answer[UART_FMT_TYPE]=g_Usart.Sn; - 524 2 g_answer.long_answer[UART_FMT_DEV_TYPE]=DEV_TYPE; - 525 2 g_answer.long_answer[UART_FMT_ADDR_RX]=g_Usart.recv_buffer[UART_FMT_ADDR_TX]; - 526 2 g_answer.long_answer[UART_FMT_LEN]=0x14; - 527 2 g_answer.long_answer[7] = s_recv.global_brightness; - 528 2 for(i=0;i<12;i++) - 529 2 { - 530 3 g_answer.long_answer[8+i] = s_pwm.currvalue[11-i]; - 531 3 if(s_recv.key_status[i] == 0x01) - 532 3 { - 533 4 g_answer.long_answer[8+i] |= 0x80; - 534 4 } - 535 3 } - 536 2 checksum=sumfunc(g_answer.long_answer,0x14); - 537 2 g_answer.long_answer[UART_FMT_CKS]=checksum; - 538 2 - C51 COMPILER V9.01 UART_SET 12/15/2025 20:45:04 PAGE 10 + 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); //串口3输出打印 + C51 COMPILER V9.01 UART_SET 12/16/2025 16:53:47 PAGE 10 - 539 2 Printbuffer3(g_answer.long_answer,0x14); //串口3输出打印 - 540 2 - 541 2 if(debug) - 542 2 { - 543 3 // PrintString1("long answer"); - 544 3 } - 545 2 g_answer.long_answer_flag=0; - 546 2 memset(g_Usart.recv_buffer,0,32); - 547 2 } - 548 1 if(g_answer.short_answer_flag) - 549 1 { - 550 2 g_answer.short_answer[UART_FMT_ADDR_TX]=ADDR_RX; - 551 2 g_answer.short_answer[UART_FMT_TYPE]=g_Usart.Sn; - 552 2 g_answer.short_answer[UART_FMT_DEV_TYPE]=DEV_TYPE; - 553 2 g_answer.short_answer[UART_FMT_ADDR_RX]=g_Usart.recv_buffer[UART_FMT_ADDR_TX]; - 554 2 g_answer.short_answer[UART_FMT_LEN]=0x07; - 555 2 checksum=sumfunc(g_answer.short_answer,0x07); - 556 2 g_answer.short_answer[UART_FMT_CKS]=checksum; - 557 2 Printbuffer3(g_answer.short_answer,0x07); - 558 2 if(debug) - 559 2 { - 560 3 PrintString1("short answer"); - 561 3 } + 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 562 2 - 563 2 - 564 2 g_answer.short_answer_flag=0; - 565 2 memset(g_Usart.recv_buffer,0,32); - 566 2 } - 567 1 - 568 1 if(g_answer.version_answer_flag) - 569 1 { - 570 2 g_answer.version_answer[UART_FMT_ADDR_TX]=ADDR_RX; - 571 2 g_answer.version_answer[UART_FMT_TYPE]=g_Usart.Sn; - 572 2 g_answer.version_answer[UART_FMT_DEV_TYPE]=DEV_TYPE; - 573 2 g_answer.version_answer[UART_FMT_ADDR_RX]=g_Usart.recv_buffer[UART_FMT_ADDR_TX]; - 574 2 g_answer.version_answer[UART_FMT_LEN]=0x09; - 575 2 g_answer.version_answer[UART_FMT_CMD+1]=Version_High; - 576 2 g_answer.version_answer[UART_FMT_CMD+2]=Version_Low; - 577 2 - 578 2 checksum=sumfunc(g_answer.version_answer,0x09); - 579 2 g_answer.version_answer[UART_FMT_CKS]=checksum; - 580 2 Printbuffer3(g_answer.version_answer,0x09); - 581 2 if(debug) - 582 2 { - 583 3 PrintString1("version_answer"); - 584 3 } - 585 2 g_answer.version_answer_flag=0; - 586 2 memset(g_Usart.recv_buffer,0,32); - 587 2 } - 588 1 memset(&g_answer,0,sizeof(g_answer)); - 589 1 } - 590 - 591 u8 sumfunc(u8* answer,u8 len) - 592 { - 593 1 u8 m = 0; - 594 1 u8 j; - 595 1 for (j = 0; j < len; j++) - 596 1 { - 597 2 if (5 == j) continue; - 598 2 m += *(answer+j); - 599 2 } - 600 1 return ~m; - C51 COMPILER V9.01 UART_SET 12/15/2025 20:45:04 PAGE 11 + 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 - 601 1 } MODULE INFORMATION: STATIC OVERLAYABLE diff --git a/Listings/WDT.lst b/Listings/WDT.lst index 30367ae..09ad995 100644 --- a/Listings/WDT.lst +++ b/Listings/WDT.lst @@ -1,4 +1,4 @@ -C51 COMPILER V9.01 WDT 12/15/2025 20:45:04 PAGE 1 +C51 COMPILER V9.01 WDT 12/16/2025 16:53:48 PAGE 1 C51 COMPILER V9.01, COMPILATION OF MODULE WDT diff --git a/Listings/key.lst b/Listings/key.lst index 3dd4669..c059f3d 100644 --- a/Listings/key.lst +++ b/Listings/key.lst @@ -1,4 +1,4 @@ -C51 COMPILER V9.01 KEY 12/15/2025 20:45:04 PAGE 1 +C51 COMPILER V9.01 KEY 12/16/2025 16:53:48 PAGE 1 C51 COMPILER V9.01, COMPILATION OF MODULE KEY @@ -62,7 +62,7 @@ line level source 52 4 case KEY_STA_S1: 53 4 g_Key.key_time[i] ++; 54 4 if ( g_Key.key_time[i] < KEY_DELAY_COUNT_LONG ) - C51 COMPILER V9.01 KEY 12/15/2025 20:45:04 PAGE 2 + C51 COMPILER V9.01 KEY 12/16/2025 16:53:48 PAGE 2 55 4 { 56 5 if ( P44 == KEY_LOOSEN ) //松开 @@ -126,7 +126,7 @@ line level source 114 3 break; 115 3 case 6: 116 3 s_pwm.currpwm[5] = 2000ul; - C51 COMPILER V9.01 KEY 12/15/2025 20:45:04 PAGE 3 + C51 COMPILER V9.01 KEY 12/16/2025 16:53:48 PAGE 3 117 3 s_pwm.currvalue[5]=0x5A; 118 3 break; diff --git a/Listings/main.lst b/Listings/main.lst index 9598aa2..3ee97e1 100644 --- a/Listings/main.lst +++ b/Listings/main.lst @@ -1,4 +1,4 @@ -C51 COMPILER V9.01 MAIN 12/15/2025 20:45:03 PAGE 1 +C51 COMPILER V9.01 MAIN 12/16/2025 16:53:47 PAGE 1 C51 COMPILER V9.01, COMPILATION OF MODULE MAIN @@ -62,7 +62,7 @@ line level source 48 1 COMx_InitStructure.UART_P_SW = UART1_SW_P30_P31; //切换端口, UART1_SW_P30_P31,UART1_SW_P36_P37,UAR -T1_SW_P16_P17,UART1_SW_P43_P44 49 1 UART_Configuration(UART1, &COMx_InitStructure); //初始化串口1 UART1,UART2,UART3,UART4 - C51 COMPILER V9.01 MAIN 12/15/2025 20:45:03 PAGE 2 + C51 COMPILER V9.01 MAIN 12/16/2025 16:53:47 PAGE 2 50 1 51 1 //PrintString1("STC8H8K64U UART1 Test Programme!\r\n"); //UART1发送一个字符串 @@ -126,7 +126,7 @@ line level source 108 2 Usart_Deal_Data(); 109 2 110 2 deal_command1(); - C51 COMPILER V9.01 MAIN 12/15/2025 20:45:03 PAGE 3 + C51 COMPILER V9.01 MAIN 12/16/2025 16:53:47 PAGE 3 111 2 112 2 deal_command2(); diff --git a/Listings/pwm_control.lst b/Listings/pwm_control.lst index 33bf1e5..aa8e9b2 100644 --- a/Listings/pwm_control.lst +++ b/Listings/pwm_control.lst @@ -1,4 +1,4 @@ -C51 COMPILER V9.01 PWM_CONTROL 12/15/2025 20:45:04 PAGE 1 +C51 COMPILER V9.01 PWM_CONTROL 12/16/2025 16:53:47 PAGE 1 C51 COMPILER V9.01, COMPILATION OF MODULE PWM_CONTROL @@ -62,7 +62,7 @@ line level source 48 1 49 1 PWM15_Init(PWM0,&PWM15_InitStructure); //初始化PWM0 50 1 PWM15_Init(PWM2,&PWM15_InitStructure); //初始化PWM2 - C51 COMPILER V9.01 PWM_CONTROL 12/15/2025 20:45:04 PAGE 2 + C51 COMPILER V9.01 PWM_CONTROL 12/16/2025 16:53:47 PAGE 2 51 1 52 1 PWM15Duty(PWM00,initial_Val); //PWM_ID, 输出低电平位置, 输出高电平位置 @@ -126,7 +126,7 @@ line level source 98 2 { 99 3 if (s_recv.flag1[i]) 100 3 { - C51 COMPILER V9.01 PWM_CONTROL 12/15/2025 20:45:04 PAGE 3 + C51 COMPILER V9.01 PWM_CONTROL 12/16/2025 16:53:47 PAGE 3 101 4 if (s_pwm.wanttopwm[i] > s_pwm.currpwm[i]) 102 4 { @@ -190,7 +190,7 @@ line level source 158 { 159 1 int i=0; 160 1 static u32 systick_command2 = 0; - C51 COMPILER V9.01 PWM_CONTROL 12/15/2025 20:45:04 PAGE 4 + C51 COMPILER V9.01 PWM_CONTROL 12/16/2025 16:53:47 PAGE 4 161 1 if (systick_1ms - systick_command2 >= 10) 162 1 { @@ -254,7 +254,7 @@ line level source 216 5 217 5 //双向循环模式 218 5 case 0x01: - C51 COMPILER V9.01 PWM_CONTROL 12/15/2025 20:45:04 PAGE 5 + C51 COMPILER V9.01 PWM_CONTROL 12/16/2025 16:53:47 PAGE 5 219 5 //递减 220 5 if (s_recv.forward[i] == 0x00) @@ -318,7 +318,7 @@ line level source 274 //直接关掉灯,并记录状态 275 void Close_Light(u8 i) 276 { - C51 COMPILER V9.01 PWM_CONTROL 12/15/2025 20:45:04 PAGE 6 + C51 COMPILER V9.01 PWM_CONTROL 12/16/2025 16:53:47 PAGE 6 277 1 s_pwm.currpwm[i]=20001ul; //持续输出高电平,非常特殊,勿改 278 1 } @@ -382,7 +382,7 @@ line level source 335 3 Close_Light(i); 336 3 } 337 2 else - C51 COMPILER V9.01 PWM_CONTROL 12/15/2025 20:45:04 PAGE 7 + C51 COMPILER V9.01 PWM_CONTROL 12/16/2025 16:53:47 PAGE 7 338 2 { 339 3 PWM_write(i, s_pwm.currpwm[i]); diff --git a/Listings/timer.lst b/Listings/timer.lst index 13690f3..33ced84 100644 --- a/Listings/timer.lst +++ b/Listings/timer.lst @@ -1,4 +1,4 @@ -C51 COMPILER V9.01 TIMER 12/15/2025 20:45:04 PAGE 1 +C51 COMPILER V9.01 TIMER 12/16/2025 16:53:47 PAGE 1 C51 COMPILER V9.01, COMPILATION OF MODULE TIMER @@ -62,7 +62,7 @@ line level source 52 //======================================================================== 53 // 函数: u8 Timer_Inilize(u8 TIM, TIM_InitTypeDef *TIMx) 54 // 描述: 定时器初始化程序. - C51 COMPILER V9.01 TIMER 12/15/2025 20:45:04 PAGE 2 + C51 COMPILER V9.01 TIMER 12/16/2025 16:53:47 PAGE 2 55 // 参数: TIMx: 结构参数,请参考timer.h里的定义. 56 // 返回: 成功返回0, 空操作返回1,错误返回2. @@ -126,7 +126,7 @@ line level source 112 2 if(TIMx->TIM_ClkSource == TIM_CLOCK_12T) Timer2_12T(); //12T 113 2 if(TIMx->TIM_ClkSource == TIM_CLOCK_1T) Timer2_1T(); //1T 114 2 if(TIMx->TIM_ClkSource == TIM_CLOCK_Ext) Timer2_AsCounter(); //对外计数或分频 - C51 COMPILER V9.01 TIMER 12/15/2025 20:45:04 PAGE 3 + C51 COMPILER V9.01 TIMER 12/16/2025 16:53:47 PAGE 3 115 2 else Timer2_AsTimer(); //定时 116 2 if(TIMx->TIM_ClkOut == ENABLE) Timer2_CLKO_Enable(); //输出时钟 diff --git a/Objects/BLV_C12_Dimm_V19 b/Objects/BLV_C12_Dimm_V19 index 9152d17..f599a43 100644 Binary files a/Objects/BLV_C12_Dimm_V19 and b/Objects/BLV_C12_Dimm_V19 differ diff --git a/Readme.md b/Readme.md index f66219e..18991ad 100644 --- a/Readme.md +++ b/Readme.md @@ -10,6 +10,41 @@ +#### 2025-12-16 淇敼浜猴細鏇硅仾 绫诲瀷锛氬彂甯冩枃浠 + +缁忔祴璇曪紝鏆傛湭鍙戠幇闂锛2025-12-15鐨勯棶棰樺凡瑙e喅 + +鍙戝竷鏂囦欢锛欱LV_C12_Dimm_V19.hex + +```C +/* +甯哥敤涓插彛娴嬭瘯鍛戒护 濡備笅锛 + 00 01 03 01 07 D3 20 //鏌ヨ褰撳墠鐘舵 + 00 02 03 01 07 D2 20 //鏌ヨ褰撳墠鐘舵 + + 00 01 03 01 16 DE 21 FF 0F 47 50 00 00 50 00 50 00 50 00 50 00 00 //璁剧疆璋冨厜鐧惧垎姣 + 00 07 03 01 16 88 21 FF 0F 47 50 00 00 50 00 50 00 50 00 50 00 50 //璁剧疆璋冨厜鐧惧垎姣 + + 00 02 03 01 0C BA 22 FF 0F 01 00 02 //寰幆璋冨厜 閫掑噺 姝ヨ繘鍊间负2 + 00 03 03 01 0C B8 22 FF 0F 01 01 02 //寰幆璋冨厜 閫掑噺 姝ヨ繘鍊间负2 + 00 04 03 01 0C B6 22 FF 0F 01 02 02 //寰幆璋冨厜 閫掑噺 姝ヨ繘鍊间负2 + + 00 05 03 01 0C B6 22 FF 0F 02 00 02 //鍋滄璋冨厜 + + 00 06 03 01 0C B8 22 FF 0F 00 00 01 //寰幆璋冨厜鍒伴《绔 閫掑噺 姝ヨ繘鍊间负1 + 00 07 03 01 0C B6 22 FF 0F 00 01 01 //寰幆璋冨厜鍒伴《绔 閫掑 姝ヨ繘鍊间负1 + 00 08 03 01 0C B2 22 FF 0F 00 02 03 //寰幆璋冨厜鍒伴《绔 鍙栧弽 姝ヨ繘鍊间负3 + + 00 03 03 01 15 99 24 FF 0F 02 02 02 02 02 02 02 02 02 02 02 02 //璁剧疆寮鍏崇姸鎬佷负 缈昏浆 + 00 04 03 01 15 A4 24 FF 0F 01 01 01 01 01 01 01 01 01 01 01 01 //璁剧疆寮鍏崇姸鎬佷负寮 + 00 05 03 01 15 AF 24 FF 0F 00 00 00 00 00 00 00 00 00 00 00 00 //璁剧疆寮鍏崇姸鎬佷负鍏 + + 00 02 03 01 07 CC 26 //鏌ヨ杞欢鐗堟湰鍙 +*/ +``` + + + #### 2025-12-15 淇敼浜猴細鏇硅仾 绫诲瀷锛氳В鍐矪UG 鈥 闂鎻忚堪锛氳皟鍏夋椂闂翠竴鏍风殑鎯呭喌涓嬶紝璋冨厜浜笌璋冨厜鐏殑瀹為檯璋冨厜鏃堕棿涓嶄竴鑷 diff --git a/UART_Set.c b/UART_Set.c index 4b60c76..d335d07 100644 --- a/UART_Set.c +++ b/UART_Set.c @@ -13,7 +13,6 @@ S_recv s_recv; u8 debug = 0x00; - /* 判断接收的指令是否合法 */ diff --git a/light_V19.uvgui.cc b/light_V19.uvgui.cc index c86c1ab..3fd1cfa 100644 --- a/light_V19.uvgui.cc +++ b/light_V19.uvgui.cc @@ -101,17 +101,17 @@ -1 - 8 - 757 - 2564 - 1407 + 0 + 696 + 2503 + 1399 0 - 638 - 0100000004000000010000000100000001000000010000000000000002000000000000000100000001000000000000002800000028000000010000000600000005000000010000002E453A5C4769745F50726F6A6563745F536F7572636F64655C5243555F4331325F44696D6D696E675C6D61696E2E6300000000066D61696E2E6300000000C5D4F200FFFFFFFF30453A5C4769745F50726F6A6563745F536F7572636F64655C5243555F4331325F44696D6D696E675C434F4E4649472E480000000008434F4E4649472E4800000000FFDC7800FFFFFFFF34453A5C4769745F50726F6A6563745F536F7572636F64655C5243555F4331325F44696D6D696E675C53544152545F494E49542E48000000000C53544152545F494E49542E4800000000BECEA100FFFFFFFF32453A5C4769745F50726F6A6563745F536F7572636F64655C5243555F4331325F44696D6D696E675C554152545F5345542E48000000000A554152545F5345542E4800000000F0A0A100FFFFFFFF35453A5C4769745F50726F6A6563745F536F7572636F64655C5243555F4331325F44696D6D696E675C70776D5F636F6E74726F6C2E63000000000D70776D5F636F6E74726F6C2E6300000000BCA8E100FFFFFFFF32453A5C4769745F50726F6A6563745F536F7572636F64655C5243555F4331325F44696D6D696E675C554152545F5365742E63000000000A554152545F5365742E63000000009CC1B600FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD5000100000000000000020000004104000076000000FC0900009A040000 + 482 + 0100000004000000010000000100000001000000010000000000000002000000000000000100000001000000000000002800000028000000010000000400000003000000010000002E453A5C4769745F50726F6A6563745F536F7572636F64655C5243555F4331325F44696D6D696E675C6D61696E2E6300000000066D61696E2E6300000000C5D4F200FFFFFFFF32453A5C4769745F50726F6A6563745F536F7572636F64655C5243555F4331325F44696D6D696E675C554152545F5345542E48000000000A554152545F5345542E4800000000FFDC7800FFFFFFFF35453A5C4769745F50726F6A6563745F536F7572636F64655C5243555F4331325F44696D6D696E675C70776D5F636F6E74726F6C2E63000000000D70776D5F636F6E74726F6C2E6300000000BECEA100FFFFFFFF32453A5C4769745F50726F6A6563745F536F7572636F64655C5243555F4331325F44696D6D696E675C554152545F5365742E63000000000A554152545F5365742E6300000000F0A0A100FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD500010000000000000002000000040400006E000000BF0900002A040000 @@ -134,7 +134,7 @@ 16 - 41040000760000006D0A00003C010000 + 040400006E000000300A000034010000 @@ -150,7 +150,7 @@ 0 16 - 03000000660000003D0100005A040000 + 03000000660000003D010000F2030000 16 @@ -170,7 +170,7 @@ 0 16 - 03000000660000003D0100005A040000 + 03000000660000003D010000F2030000 16 @@ -450,7 +450,7 @@ 0 16 - 03000000660000003D0100005A040000 + 03000000660000003D010000F2030000 16 @@ -470,7 +470,7 @@ 0 16 - 03000000660000003D0100005A040000 + 03000000660000003D010000F2030000 16 @@ -490,7 +490,7 @@ 0 16 - 030000008E040000FC06000024050000 + 0300000026040000FC06000024050000 16 @@ -530,7 +530,7 @@ 0 16 - 030000008E040000FC06000024050000 + 0300000026040000FC06000024050000 16 @@ -1150,7 +1150,7 @@ 0 16 - 03000000660000003D0100005A040000 + 03000000660000003D010000F2030000 16 @@ -1160,7 +1160,7 @@ 38007 38007 - 0 + 1 0 0 0 @@ -1170,7 +1170,7 @@ 0 16 - 030000008E040000FA06000024050000 + 0300000026040000FC06000024050000 16 @@ -1190,7 +1190,7 @@ 0 16 - 030000008E040000FA06000024050000 + 0300000026040000FC06000024050000 16 @@ -1250,7 +1250,7 @@ 0 16 - 030000008E040000FA06000024050000 + 0300000026040000FC06000024050000 16 @@ -1270,7 +1270,7 @@ 0 16 - 030000008E040000FA06000024050000 + 0300000026040000FC06000024050000 16 @@ -1799,14 +1799,14 @@ 3312 - 000000000B000000000000000020000000000000FFFFFFFFFFFFFFFF44010000150100007007000019010000000000000100000004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E65002000000000000041040000760000006D0A00003C010000440100004F00000070070000150100000000000040280046080000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF2C0600004F0000003006000001030000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C30000018000400000000000002D090000760000006D0A000028030000300600004F000000700700000103000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFF400100004F0000004401000073040000010000000200001004000000010000000000000000000000FFFFFFFF05000000ED0300006D000000C3000000C40000007394000001800010000001000000FD020000760000003D0400009A040000000000004F00000040010000730400000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF00000000ED02000070070000F102000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB09000001800080000000000000FD020000180300006D0A0000F203000000000000F102000070070000CB03000000000000404100460F0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFFB8030000F1020000BC030000CB03000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF0000000073040000FF06000077040000010000000100001004000000010000000000000000000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF0100007794000001800080000001000000FD0200009E040000FA090000640500000000000077040000FF0600003D0500000000000040820056060000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657301000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000 + 000000000B000000000000000020000000000000FFFFFFFFFFFFFFFF44010000150100007007000019010000000000000100000004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E650020000000000000040400006E000000300A000034010000440100004F00000070070000150100000000000040280046080000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF2C0600004F0000003006000001030000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000F00800006E000000300A000020030000300600004F000000700700000103000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFF400100004F000000440100000B040000010000000200001004000000010000000000000000000000FFFFFFFF05000000ED0300006D000000C3000000C40000007394000001800010000001000000C00200006E000000000400002A040000000000004F000000400100000B0400000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF00000000ED02000070070000F102000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB09000001800080000000000000C002000010030000300A0000EA03000000000000F102000070070000CB03000000000000404100460F0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFFB8030000F1020000BC030000CB03000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF000000000B040000FF0600000F04000001000000010000100400000001000000E1FBFFFFC4000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF0100007794000001800080000001000000C00200002E040000BF0900005C050000000000000F040000FF0600003D0500000000000040820056060000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657301000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572010000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000 59392 File - 2869 - 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000004000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE8030000000000000000000000000000000000000000000000010000000100000096000000020020500000000008C8EDBCFEB0E6B1BE9600000000000000130008C8EDBCFEB0E6B1BE096375727276616C75650A6B65795F737461747573076375727270776D06735F726563760D6465616C5F636F6D6D616E64310C735F726563762E666C61673105735F70776D0C56657273696F6E5F486967680564656275670F433132B5F7B9E2BDA5B1E4CAB1BCE415496E5F526561645F4D435553797374656D5F436D6404656C7365135564705F496E7465726E616C5F53656172636811675F6170702E706F7765725F73746174650A4750494F5F50494E5F3215506F7765725F4D616E6167656D656E745F5461736B0E4465765F57616B655F5374617465155564705F496E7465726E616C5F416E616C7973697300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000 + 2818 + 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050000000000C56657273696F6E5F48696768960000000000000012000C56657273696F6E5F48696768084B45595F496E697405675F4B657909675F6D756C745F696F0B696E7075745F737461746508C8EDBCFEB0E6B1BE096375727276616C75650A6B65795F737461747573076375727270776D06735F726563760D6465616C5F636F6D6D616E64310C735F726563762E666C61673105735F70776D0564656275670F433132B5F7B9E2BDA5B1E4CAB1BCE415496E5F526561645F4D435553797374656D5F436D6404656C7365135564705F496E7465726E616C5F536561726368000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000 1423 @@ -1822,7 +1822,7 @@ Build 976 - 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000002001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000000000000100000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000004002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA000000000000000000000000000000000000000000000000010000000100000096000000030020500000000008546172676574203196000000000000000100085461726765742031000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000004004E00000000000000000000000000000000010000000100000001807202000000000400530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000 + 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000000000000100000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000004002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA000000000000000000000000000000000000000000000000010000000100000096000000030020500000000008546172676574203196000000000000000100085461726765742031000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000004004E00000000000000000000000000000000010000000100000001807202000000000400530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000 583 @@ -1862,7 +1862,7 @@ 0 100 - 5 + 3 .\main.c 21 @@ -1872,29 +1872,11 @@ 0 - - CONFIG.H - 0 - 1 - 1 - 1 - - 0 - - - START_INIT.H - 0 - 1 - 1 - 1 - - 0 - UART_SET.H - 45 + 0 1 - 29 + 37 1 0 @@ -1910,9 +1892,9 @@ .\UART_Set.c - 22 - 103 - 121 + 15 + 1 + 21 1 0