📄 project.lst
字号:
02B4 8126 LDD R18,Z+6
02B5 8137 LDD R19,Z+7
02B6 D380 RCALL _sDataToChar
(0458) SciBuffer_Tx_In(&stSciBuffer,' ');
02B7 E220 LDI R18,0x20
02B8 E10C LDI R16,0x1C
02B9 E011 LDI R17,1
02BA DEE4 RCALL _SciBuffer_Tx_In
(0459)
(0460) sDataToChar(dwTest,4,&stSciBuffer);
02BB E18C LDI R24,0x1C
02BC E091 LDI R25,1
02BD 839B STD Y+3,R25
02BE 838A STD Y+2,R24
02BF E084 LDI R24,4
02C0 8388 STD Y+0,R24
02C1 01FE MOVW R30,R28
02C2 8104 LDD R16,Z+4
02C3 8115 LDD R17,Z+5
02C4 8126 LDD R18,Z+6
02C5 8137 LDD R19,Z+7
02C6 D370 RCALL _sDataToChar
(0461) SciBuffer_Tx_In(&stSciBuffer,' ');
02C7 E220 LDI R18,0x20
02C8 E10C LDI R16,0x1C
02C9 E011 LDI R17,1
02CA DED4 RCALL _SciBuffer_Tx_In
(0462)
(0463) sDataToChar(dwTest,2,&stSciBuffer);
02CB E18C LDI R24,0x1C
02CC E091 LDI R25,1
02CD 839B STD Y+3,R25
02CE 838A STD Y+2,R24
02CF E082 LDI R24,2
02D0 8388 STD Y+0,R24
02D1 01FE MOVW R30,R28
02D2 8104 LDD R16,Z+4
02D3 8115 LDD R17,Z+5
02D4 8126 LDD R18,Z+6
02D5 8137 LDD R19,Z+7
02D6 D360 RCALL _sDataToChar
(0464) SciBuffer_Tx_In(&stSciBuffer,' ');
02D7 E220 LDI R18,0x20
02D8 E10C LDI R16,0x1C
02D9 E011 LDI R17,1
02DA DEC4 RCALL _SciBuffer_Tx_In
(0465)
(0466) sDataToChar(dwTest,1,&stSciBuffer);
02DB E18C LDI R24,0x1C
02DC E091 LDI R25,1
02DD 839B STD Y+3,R25
02DE 838A STD Y+2,R24
02DF E081 LDI R24,1
02E0 8388 STD Y+0,R24
02E1 01FE MOVW R30,R28
02E2 8104 LDD R16,Z+4
02E3 8115 LDD R17,Z+5
02E4 8126 LDD R18,Z+6
02E5 8137 LDD R19,Z+7
02E6 D350 RCALL _sDataToChar
(0467) SciBuffer_Tx_In(&stSciBuffer,'\n');
02E7 E02A LDI R18,0xA
02E8 E10C LDI R16,0x1C
02E9 E011 LDI R17,1
02EA DEB4 RCALL _SciBuffer_Tx_In
(0468)
(0469) UART_WRITE_DATA(&stSciBuffer);
02EB E10C LDI R16,0x1C
02EC E011 LDI R17,1
02ED DEEF RCALL _UART_WRITE_DATA
(0470) }
02EE 9628 ADIW R28,0x8
02EF 940E06F5 CALL pop_gset2
02F1 9508 RET
(0471)
(0472) //********************************************************************
(0473) // Function : XXCommand
(0474) // Input : none
(0475) // Output : none
(0476) // Description : XX
(0477) //********************************************************************
(0478) void XXCommand(void)
(0479) {
(0480) sStringToChar("Received XX Command.\n",&stSciBuffer);
_XXCommand:
02F2 E12C LDI R18,0x1C
02F3 E031 LDI R19,1
02F4 E006 LDI R16,6
02F5 E011 LDI R17,1
02F6 D361 RCALL _sStringToChar
(0481) UART_WRITE_DATA(&stSciBuffer);
02F7 E10C LDI R16,0x1C
02F8 E011 LDI R17,1
(0482) }
02F9 CEE3 RJMP _UART_WRITE_DATA
_YYCommand:
bChar --> Y+0
02FA 9723 SBIW R28,3
(0483)
(0484) //********************************************************************
(0485) // Function : YYCommand
(0486) // Input : none
(0487) // Output : none
(0488) // Description : YY,MM
(0489) //********************************************************************
(0490) void YYCommand(void)
(0491) {
(0492) INT8U bChar[3];
(0493) bChar[0] = stSciBuffer.bRxBuffer[2];
02FB 90200121 LDS R2,__idata_end+1
02FD 8228 STD Y+0,R2
(0494) bChar[1] = stSciBuffer.bRxBuffer[3];
02FE 90200122 LDS R2,__idata_end+2
0300 8229 STD Y+1,R2
(0495) bChar[2] = stSciBuffer.bRxBuffer[4];
0301 90200123 LDS R2,__idata_end+3
0303 822A STD Y+2,R2
(0496) sStringToChar("Received YY Command , ",&stSciBuffer);
0304 E12C LDI R18,0x1C
0305 E031 LDI R19,1
0306 EE0F LDI R16,0xEF
0307 E010 LDI R17,0
0308 D34F RCALL _sStringToChar
(0497) if((bChar[0] == ',') && \
0309 8188 LDD R24,Y+0
030A 328C CPI R24,0x2C
030B F501 BNE 0x032C
030C 8189 LDD R24,Y+1
030D 3380 CPI R24,0x30
030E F0E8 BCS 0x032C
030F E389 LDI R24,0x39
0310 8029 LDD R2,Y+1
0311 1582 CP R24,R2
0312 F0C8 BCS 0x032C
0313 818A LDD R24,Y+2
0314 3380 CPI R24,0x30
0315 F0B0 BCS 0x032C
0316 E389 LDI R24,0x39
0317 802A LDD R2,Y+2
0318 1582 CP R24,R2
0319 F090 BCS 0x032C
(0498) (bChar[1] >= '0') && (bChar[1] <= '9') &&\
(0499) (bChar[2] >= '0') && (bChar[2] <= '9'))
(0500) {
(0501) sStringToChar("Parameter : ",&stSciBuffer);
031A E12C LDI R18,0x1C
031B E031 LDI R19,1
031C EE02 LDI R16,0xE2
031D E010 LDI R17,0
031E D339 RCALL _sStringToChar
(0502) SciBuffer_Tx_In(&stSciBuffer,bChar[1]);
031F 8129 LDD R18,Y+1
0320 E10C LDI R16,0x1C
0321 E011 LDI R17,1
0322 DE7C RCALL _SciBuffer_Tx_In
(0503) SciBuffer_Tx_In(&stSciBuffer,bChar[2]);
0323 812A LDD R18,Y+2
0324 E10C LDI R16,0x1C
0325 E011 LDI R17,1
0326 DE78 RCALL _SciBuffer_Tx_In
(0504) SciBuffer_Tx_In(&stSciBuffer,'\n');
0327 E02A LDI R18,0xA
0328 E10C LDI R16,0x1C
0329 E011 LDI R17,1
032A DE74 RCALL _SciBuffer_Tx_In
(0505) }
032B C005 RJMP 0x0331
(0506) else
(0507) {
(0508) sStringToChar("Illegal Parameter !\n",&stSciBuffer);
032C E12C LDI R18,0x1C
032D E031 LDI R19,1
032E EC0D LDI R16,0xCD
032F E010 LDI R17,0
0330 D327 RCALL _sStringToChar
(0509) }
(0510) UART_WRITE_DATA(&stSciBuffer);
0331 E10C LDI R16,0x1C
0332 E011 LDI R17,1
0333 DEA9 RCALL _UART_WRITE_DATA
(0511) }
0334 9623 ADIW R28,3
0335 9508 RET
_ZZCommand:
bChar --> Y+0
0336 9728 SBIW R28,0x8
(0512)
(0513) //********************************************************************
(0514) // Function : ZZCommand
(0515) // Input : none
(0516) // Output : none
(0517) // Description : ZZ,MMM,NNN
(0518) //********************************************************************
(0519) void ZZCommand(void)
(0520) {
(0521) INT8U bChar[8];
(0522) bChar[0] = stSciBuffer.bRxBuffer[2];
0337 90200121 LDS R2,__idata_end+1
0339 8228 STD Y+0,R2
(0523) bChar[1] = stSciBuffer.bRxBuffer[3];
033A 90200122 LDS R2,__idata_end+2
033C 8229 STD Y+1,R2
(0524) bChar[2] = stSciBuffer.bRxBuffer[4];
033D 90200123 LDS R2,__idata_end+3
033F 822A STD Y+2,R2
(0525) bChar[3] = stSciBuffer.bRxBuffer[5];
0340 90200124 LDS R2,0x124
0342 822B STD Y+3,R2
(0526) bChar[4] = stSciBuffer.bRxBuffer[6];
0343 90200125 LDS R2,0x125
0345 822C STD Y+4,R2
(0527) bChar[5] = stSciBuffer.bRxBuffer[7];
0346 90200126 LDS R2,0x126
0348 822D STD Y+5,R2
(0528) bChar[6] = stSciBuffer.bRxBuffer[8];
0349 90200127 LDS R2,0x127
034B 822E STD Y+6,R2
(0529) bChar[7] = stSciBuffer.bRxBuffer[9];
034C 90200128 LDS R2,0x128
034E 822F STD Y+7,R2
(0530) sStringToChar("Received ZZ Command , ",&stSciBuffer);
034F E12C LDI R18,0x1C
0350 E031 LDI R19,1
0351 EB06 LDI R16,0xB6
0352 E010 LDI R17,0
0353 D304 RCALL _sStringToChar
(0531) if((bChar[0] == ',') && (bChar[4] == ',') && \
0354 8188 LDD R24,Y+0
0355 328C CPI R24,0x2C
0356 F009 BEQ 0x0358
0357 C062 RJMP 0x03BA
0358 818C LDD R24,Y+4
0359 328C CPI R24,0x2C
035A F009 BEQ 0x035C
035B C05E RJMP 0x03BA
035C 8189 LDD R24,Y+1
035D 3380 CPI R24,0x30
035E F408 BCC 0x0360
035F C05A RJMP 0x03BA
0360 E389 LDI R24,0x39
0361 8029 LDD R2,Y+1
0362 1582 CP R24,R2
0363 F408 BCC 0x0365
0364 C055 RJMP 0x03BA
0365 818A LDD R24,Y+2
0366 3380 CPI R24,0x30
0367 F408 BCC 0x0369
0368 C051 RJMP 0x03BA
0369 E389 LDI R24,0x39
036A 802A LDD R2,Y+2
036B 1582 CP R24,R2
036C F408 BCC 0x036E
036D C04C RJMP 0x03BA
036E 818B LDD R24,Y+3
036F 3380 CPI R24,0x30
0370 F408 BCC 0x0372
0371 C048 RJMP 0x03BA
0372 E389 LDI R24,0x39
0373 802B LDD R2,Y+3
0374 1582 CP R24,R2
0375 F408 BCC 0x0377
0376 C043 RJMP 0x03BA
0377 818D LDD R24,Y+5
0378 3380 CPI R24,0x30
0379 F408 BCC 0x037B
037A C03F RJMP 0x03BA
037B E389 LDI R24,0x39
037C 802D LDD R2,Y+5
037D 1582 CP R24,R2
037E F408 BCC 0x0380
037F C03A RJMP 0x03BA
0380 818E LDD R24,Y+6
0381 3380 CPI R24,0x30
0382 F408 BCC 0x0384
0383 C036 RJMP 0x03BA
0384 E389 LDI R24,0x39
0385 802E LDD R2,Y+6
0386 1582 CP R24,R2
0387 F190 BCS 0x03BA
0388 818F LDD R24,Y+7
0389 3380 CPI R24,0x30
038A F178 BCS 0x03BA
038B E389 LDI R24,0x39
038C 802F LDD R2,Y+7
038D 1582 CP R24,R2
038E F158 BCS 0x03BA
(0532) (bChar[1] >= '0') && (bChar[1] <= '9') && \
(0533) (bChar[2] >= '0') && (bChar[2] <= '9') && \
(0534) (bChar[3] >= '0') && (bChar[3] <= '9') && \
(0535) (bChar[5] >= '0') && (bChar[5] <= '9') && \
(0536) (bChar[6] >= '0') && (bChar[6] <= '9') && \
(0537) (bChar[7] >= '0') && (bChar[7] <= '9'))
(0538) {
(0539) sStringToChar("Parameter1 : ",&stSciBuffer);
038F E12C LDI R18,0x1C
0390 E031 LDI R19,1
0391 EA08 LDI R16,0xA8
0392 E010 LDI R17,0
0393 D2C4 RCALL _sStringToChar
(0540) SciBuffer_Tx_In(&stSciBuffer,bChar[1]);
0394 8129 LDD R18,Y+1
0395 E10C LDI R16,0x1C
0396 E011 LDI R17,1
0397 DE07 RCALL _SciBuffer_Tx_In
(0541) SciBuffer_Tx_In(&stSciBuffer,bChar[2]);
0398 812A LDD R18,Y+2
0399 E10C LDI R16,0x1C
039A E011 LDI R17,1
039B DE03 RCALL _SciBuffer_Tx_In
(0542) SciBuffer_Tx_In(&stSciBuffer,bChar[3]);
039C 812B LDD R18,Y+3
039D E10C LDI R16,0x1C
039E E011 LDI R17,1
039F DDFF RCALL _SciBuffer_Tx_In
(0543) SciBuffer_Tx_In(&stSciBuffer,' ');
03A0 E220 LDI R18,0x20
03A1 E10C LDI R16,0x1C
03A2 E011 LDI R17,1
03A3 DDFB RCALL _SciBuffer_Tx_In
(0544) sStringToChar("Parameter2 : ",&stSciBuffer);
03A4 E12C LDI R18,0x1C
03A5 E031 LDI R19,1
03A6 E90A LDI R16,0x9A
03A7 E010 LDI R17,0
03A8 D2AF RCALL _sStringToChar
(0545) SciBuffer_Tx_In(&stSciBuffer,bChar[5]);
03A9 812D LDD R18,Y+5
03AA E10C LDI R16,0x1C
03AB E011 LDI R17,1
03AC DDF2 RCALL _SciBuffer_Tx_In
(0546) SciBuffer_Tx_In(&stSciBuffer,bChar[6]);
03AD 812E LDD R18,Y+6
03AE E10C LDI R16,0x1C
03AF E011 LDI R17,1
03B0 DDEE RCALL _SciBuffer_Tx_In
(0547) SciBuffer_Tx_In(&stSciBuffer,bChar[7]);
03B1 812F LDD R18,Y+7
03B2 E10C LDI R16,0x1C
03B3 E011 LDI R17,1
03B4 DDEA RCALL _SciBuffer_Tx_In
(0548) SciBuffer_Tx_In(&stSciBuffer,'\n');
03B5 E02A LDI R18,0xA
03B6 E10C LDI R16,0x1C
03B7 E011 LDI R17,1
03B8 DDE6 RCALL _SciBuffer_Tx_In
(0549) }
03B9 C005 RJMP 0x03BF
(0550) else
(0551) {
(0552) sStringToChar("Illegal Parameters !\n",&stSciBuffer);
03BA E12C LDI R18,0x1C
03BB E031 LDI R19,1
03BC E804 LDI R16,0x84
03BD E010 LDI R17,0
03BE D299 RCALL _sStringToChar
(0553) }
(0554) UART_WRITE_DATA(&stSciBuffer);
03BF E10C LDI R16,0x1C
03C0 E011 LDI R17,1
03C1 DE1B RCALL _UART_WRITE_DATA
(0555) }
03C2 9628 ADIW R28,0x8
03C3 9508 RET
_SCI_Parsing:
wCommandBuffer --> Y+2
wLow --> R22
wHigh --> R10
wMid --> R20
ptr --> R20
03C4 940E0716 CALL push_gset3
03C6 01A8 MOVW R20,R16
03C7 9724 SBIW R28,4
(0556)
(0557) typedef void (*pFunc)(void);
(0558)
(0559) pFunc CommandJobArray[8]=
(0560) {
(0561) C1Command,C2Command,D1Command,D2Command,
(0562) D3Command,XXCommand,YYCommand,ZZCommand
(0563) };
(0564)
(0565) char wCommandTabArray[8][2]=
(0566) {
(0567) "C1", "C2",
(0568) "D1", "D2", "D3",
(0569) "XX", "YY", "ZZ",
(0570) };
(0571)
(0572) //********************************************************************
(0573) // Function : SCI_Parsing
(0574) // Input : ptr-Pointer to SCI Buffer
(0575) // Output : none
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -