📄 pwm32.lss
字号:
4b4: 8f 5f subi r24, 0xFF ; 255
4b6: 80 93 0a 01 sts 0x010A, r24
break;
4ba: b8 c0 rjmp .+368 ; 0x62c <__stack+0x12d>
}
else //出错
{
RxCounter=0;
4bc: 10 92 0a 01 sts 0x010A, r1
UART_ERROR_FLAG=1;
4c0: 80 91 8c 02 lds r24, 0x028C
4c4: 88 60 ori r24, 0x08 ; 8
4c6: 80 93 8c 02 sts 0x028C, r24
break;
4ca: b0 c0 rjmp .+352 ; 0x62c <__stack+0x12d>
}
}
/***************2222****************/
else
{
HStartTime=data;
4cc: 8a 81 ldd r24, Y+2 ; 0x02
4ce: 80 93 62 02 sts 0x0262, r24
RxCounter++;
4d2: 80 91 0a 01 lds r24, 0x010A
4d6: 8f 5f subi r24, 0xFF ; 255
4d8: 80 93 0a 01 sts 0x010A, r24
break;
4dc: a7 c0 rjmp .+334 ; 0x62c <__stack+0x12d>
}
}
case 3:
{
/***************1111****************/
if(DL_OVER_FLAG)
4de: 80 91 8c 02 lds r24, 0x028C
4e2: 80 71 andi r24, 0x10 ; 16
4e4: 88 23 and r24, r24
4e6: b9 f1 breq .+110 ; 0x556 <__stack+0x57>
{
if(data==0x02)
4e8: 8a 81 ldd r24, Y+2 ; 0x02
4ea: 82 30 cpi r24, 0x02 ; 2
4ec: 61 f5 brne .+88 ; 0x546 <__stack+0x47>
{
DL_REALY_OVER=1;
4ee: 80 91 8c 02 lds r24, 0x028C
4f2: 80 62 ori r24, 0x20 ; 32
4f4: 80 93 8c 02 sts 0x028C, r24
SET_UART_DADA_DISPOSE;
4f8: 80 91 8c 02 lds r24, 0x028C
4fc: 8e 7f andi r24, 0xFE ; 254
4fe: 80 93 8c 02 sts 0x028C, r24
BigStepNum[ModeBuffer] = ((unsigned int)(BigStepBuffer0))*256 +BigStepBuffer1;//记录步长
502: 80 91 b2 02 lds r24, 0x02B2
506: 28 2f mov r18, r24
508: 33 27 eor r19, r19
50a: c9 01 movw r24, r18
50c: 82 0f add r24, r18
50e: 93 1f adc r25, r19
510: fc 01 movw r30, r24
512: e4 57 subi r30, 0x74 ; 116
514: fe 4f sbci r31, 0xFE ; 254
516: 80 91 89 02 lds r24, 0x0289
51a: 28 2f mov r18, r24
51c: 33 27 eor r19, r19
51e: 80 e0 ldi r24, 0x00 ; 0
520: 91 e0 ldi r25, 0x01 ; 1
522: 28 9f mul r18, r24
524: a0 01 movw r20, r0
526: 29 9f mul r18, r25
528: 50 0d add r21, r0
52a: 38 9f mul r19, r24
52c: 50 0d add r21, r0
52e: 11 24 eor r1, r1
530: 9a 01 movw r18, r20
532: 80 91 64 01 lds r24, 0x0164
536: 99 27 eor r25, r25
538: 82 0f add r24, r18
53a: 93 1f adc r25, r19
53c: 91 83 std Z+1, r25 ; 0x01
53e: 80 83 st Z, r24
RxCounter=0;
540: 10 92 0a 01 sts 0x010A, r1
break;
544: 73 c0 rjmp .+230 ; 0x62c <__stack+0x12d>
}
else
{
RxCounter=0;
546: 10 92 0a 01 sts 0x010A, r1
UART_ERROR_FLAG=1;
54a: 80 91 8c 02 lds r24, 0x028C
54e: 88 60 ori r24, 0x08 ; 8
550: 80 93 8c 02 sts 0x028C, r24
break;
554: 6b c0 rjmp .+214 ; 0x62c <__stack+0x12d>
}
}
/***************2222****************/
else if((data==0)||(data>10)) //出错
556: 8a 81 ldd r24, Y+2 ; 0x02
558: 88 23 and r24, r24
55a: 21 f0 breq .+8 ; 0x564 <__stack+0x65>
55c: 8a 81 ldd r24, Y+2 ; 0x02
55e: 8b 30 cpi r24, 0x0B ; 11
560: 08 f4 brcc .+2 ; 0x564 <__stack+0x65>
562: 08 c0 rjmp .+16 ; 0x574 <__stack+0x75>
{
RxCounter=0;
564: 10 92 0a 01 sts 0x010A, r1
UART_ERROR_FLAG=1;
568: 80 91 8c 02 lds r24, 0x028C
56c: 88 60 ori r24, 0x08 ; 8
56e: 80 93 8c 02 sts 0x028C, r24
break;
572: 5c c0 rjmp .+184 ; 0x62c <__stack+0x12d>
}
else
{
ModeBuffer=data-1; //从0开始计数
574: 8a 81 ldd r24, Y+2 ; 0x02
576: 81 50 subi r24, 0x01 ; 1
578: 80 93 b2 02 sts 0x02B2, r24
RxCounter++;
57c: 80 91 0a 01 lds r24, 0x010A
580: 8f 5f subi r24, 0xFF ; 255
582: 80 93 0a 01 sts 0x010A, r24
break;
586: 52 c0 rjmp .+164 ; 0x62c <__stack+0x12d>
}
}
case 4:
{
RxCounter++;
588: 80 91 0a 01 lds r24, 0x010A
58c: 8f 5f subi r24, 0xFF ; 255
58e: 80 93 0a 01 sts 0x010A, r24
BigStepBuffer1=data;
592: 8a 81 ldd r24, Y+2 ; 0x02
594: 80 93 64 01 sts 0x0164, r24
break;
598: 49 c0 rjmp .+146 ; 0x62c <__stack+0x12d>
}
case 5:
{
RxCounter++;
59a: 80 91 0a 01 lds r24, 0x010A
59e: 8f 5f subi r24, 0xFF ; 255
5a0: 80 93 0a 01 sts 0x010A, r24
BigStepBuffer0=data;
5a4: 8a 81 ldd r24, Y+2 ; 0x02
5a6: 80 93 89 02 sts 0x0289, r24
break;
5aa: 40 c0 rjmp .+128 ; 0x62c <__stack+0x12d>
}
case 6:case 7:case 8:case 9:case 10:case 11:
case 12:case 13:case 14:case 15:case 16:case 17:case 18:case 19:case 20:case 21:
case 22:case 23:case 24:case 25:case 26:case 27:case 28:case 29:case 30:case 31:
case 32:case 33:case 34:case 35:case 36:case 37:
{
StepData[RxCounter-6]=data;
5ac: 80 91 0a 01 lds r24, 0x010A
5b0: 99 27 eor r25, r25
5b2: fc 01 movw r30, r24
5b4: e6 56 subi r30, 0x66 ; 102
5b6: fe 4f sbci r31, 0xFE ; 254
5b8: 8a 81 ldd r24, Y+2 ; 0x02
5ba: 80 83 st Z, r24
RxCounter++;
5bc: 80 91 0a 01 lds r24, 0x010A
5c0: 8f 5f subi r24, 0xFF ; 255
5c2: 80 93 0a 01 sts 0x010A, r24
break;
5c6: 32 c0 rjmp .+100 ; 0x62c <__stack+0x12d>
}
case 38:
{
RxCounter=0;
5c8: 10 92 0a 01 sts 0x010A, r1
checksum=ModeBuffer+BigStepBuffer0+BigStepBuffer1+ LStartTime+ HStartTime+1;
5cc: 90 91 b2 02 lds r25, 0x02B2
5d0: 80 91 89 02 lds r24, 0x0289
5d4: 98 0f add r25, r24
5d6: 80 91 64 01 lds r24, 0x0164
5da: 98 0f add r25, r24
5dc: 80 91 b1 02 lds r24, 0x02B1
5e0: 98 0f add r25, r24
5e2: 80 91 62 02 lds r24, 0x0262
5e6: 89 0f add r24, r25
5e8: 8f 5f subi r24, 0xFF ; 255
5ea: 8b 83 std Y+3, r24 ; 0x03
for(unsigned char LcvCounter=0;LcvCounter<32;LcvCounter++)
5ec: 1c 82 std Y+4, r1 ; 0x04
5ee: 8c 81 ldd r24, Y+4 ; 0x04
5f0: 80 32 cpi r24, 0x20 ; 32
5f2: 68 f4 brcc .+26 ; 0x60e <__stack+0x10f>
{
checksum+=StepData[LcvCounter];
5f4: 8c 81 ldd r24, Y+4 ; 0x04
5f6: 99 27 eor r25, r25
5f8: fc 01 movw r30, r24
5fa: e0 56 subi r30, 0x60 ; 96
5fc: fe 4f sbci r31, 0xFE ; 254
5fe: 9b 81 ldd r25, Y+3 ; 0x03
600: 80 81 ld r24, Z
602: 89 0f add r24, r25
604: 8b 83 std Y+3, r24 ; 0x03
606: 8c 81 ldd r24, Y+4 ; 0x04
608: 8f 5f subi r24, 0xFF ; 255
60a: 8c 83 std Y+4, r24 ; 0x04
60c: f0 cf rjmp .-32 ; 0x5ee <__stack+0xef>
}
if(checksum!=data)
60e: 9b 81 ldd r25, Y+3 ; 0x03
610: 8a 81 ldd r24, Y+2 ; 0x02
612: 98 17 cp r25, r24
614: 31 f0 breq .+12 ; 0x622 <__stack+0x123>
{
UART_ERROR_FLAG=1;
616: 80 91 8c 02 lds r24, 0x028C
61a: 88 60 ori r24, 0x08 ; 8
61c: 80 93 8c 02 sts 0x028C, r24
620: 05 c0 rjmp .+10 ; 0x62c <__stack+0x12d>
}
else
{
//AckToPc();
SET_UART_DADA_DISPOSE;
622: 80 91 8c 02 lds r24, 0x028C
626: 8e 7f andi r24, 0xFE ; 254
628: 80 93 8c 02 sts 0x028C, r24
}
break;
}
}
}
//实时处理
if(IS_DOWN_LOAD_DISABLE)
62c: 80 91 8c 02 lds r24, 0x028C
630: 82 70 andi r24, 0x02 ; 2
632: 88 23 and r24, r24
634: 09 f0 breq .+2 ; 0x638 <__stack+0x139>
636: 6f c0 rjmp .+222 ; 0x716 <__stack+0x217>
{
REAL_TIME_FLAG=1;
638: 80 91 8c 02 lds r24, 0x028C
63c: 80 64 ori r24, 0x40 ; 64
63e: 80 93 8c 02 sts 0x028C, r24
switch(RxCounter)
642: 80 91 0a 01 lds r24, 0x010A
646: 28 2f mov r18, r24
648: 33 27 eor r19, r19
64a: 38 87 std Y+8, r19 ; 0x08
64c: 2f 83 std Y+7, r18 ; 0x07
64e: 4f 81 ldd r20, Y+7 ; 0x07
650: 58 85 ldd r21, Y+8 ; 0x08
652: 41 32 cpi r20, 0x21 ; 33
654: 51 05 cpc r21, r1
656: 5c f4 brge .+22 ; 0x66e <__stack+0x16f>
658: 8f 81 ldd r24, Y+7 ; 0x07
65a: 98 85 ldd r25, Y+8 ; 0x08
65c: 81 30 cpi r24, 0x01 ; 1
65e: 91 05 cpc r25, r1
660: 24 f5 brge .+72 ; 0x6aa <__stack+0x1ab>
662: 2f 81 ldd r18, Y+7 ; 0x07
664: 38 85 ldd r19, Y+8 ; 0x08
666: 21 15 cp r18, r1
668: 31 05 cpc r19, r1
66a: 39 f0 breq .+14 ; 0x67a <__stack+0x17b>
66c: 54 c0 rjmp .+168 ; 0x716 <__stack+0x217>
66e: 4f 81 ldd r20, Y+7 ; 0x07
670: 58 85 ldd r21, Y+8 ; 0x08
672: 41 32 cpi r20, 0x21 ; 33
674: 51 05 cpc r21, r1
676: 39 f1 breq .+78 ; 0x6c6 <__stack+0x1c7>
678: 4e c0 rjmp .+156 ; 0x716 <__stack+0x217>
{
case 0:
{
RUN_FLAG=0; //不知有无必要?
67a: 80 91 c0 01 lds r24, 0x01C0
67e: 8e 7f andi r24, 0xFE ; 254
680: 80 93 c0 01 sts 0x01C0, r24
if(data==0xFF)
684: 8a 81 ldd r24, Y+2 ; 0x02
686: 8f 3f cpi r24, 0xFF ; 255
688: 59 f4 brne .+22 ; 0x6a0 <__stack+0x1a1>
{
RUN_FLAG=0; //实时控制时关闭跑
68a: 80 91 c0 01 lds r24, 0x01C0
68e: 8e 7f andi r24, 0xFE ; 254
690: 80 93 c0 01 sts 0x01C0, r24
RxCounter++;
694: 80 91 0a 01 lds r24, 0x010A
698: 8f 5f subi r24, 0xFF ; 255
69a: 80 93 0a 01 sts 0x010A, r24
break;
69e: 3b c0 rjmp .+118 ; 0x716 <__stack+0x217>
}
else
{
RxCounter=0;
6a0: 10 92 0a 01 sts 0x010A, r1
NackToPc( );
6a4: 0e 94 64 0c call 0x18c8 <NackToPc>
break;
6a8: 36 c0 rjmp .+108 ; 0x716 <__stack+0x217>
}
}
case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:
case 11:case 12:case 13:case 14:case 15:case 16:case 17:case 18:case 19:case 20:
case 21:case 22:case 23:case 24:case 25:case 26:case 27:case 28:case 29:case 30:
case 31:case 32:
{
StepData[RxCounter-1]=data;
6aa: 80 91 0a 01 lds r24, 0x010A
6ae: 99 27 eor r25, r25
6b0: fc 01 movw r30, r24
6b2: e1 56 subi r30, 0x61 ; 97
6b4: fe 4f sbci r31, 0xFE ; 254
6b6: 8a 81 ldd r24, Y+2 ; 0x02
6b8: 80 83 st Z, r24
RxCounter++;
6ba: 80 91 0a 01 lds r24, 0x010A
6be: 8f 5f subi r24, 0xFF ; 255
6c0: 80 93 0a 01 sts 0x010A, r24
break;
6c4: 28 c0 rjmp .+80 ; 0x716 <__stack+0x217>
}
case 33:
{
for(unsigned char LcvCounter=0;LcvCounter<32;LcvCounter++)
6c6: 1c 82 std Y+4, r1 ; 0x04
6c8: 8c 81 ldd r24, Y+4 ; 0x04
6ca: 80 32 cpi r24, 0x20 ; 32
6cc: 68 f4 brcc .+26 ; 0x6e8 <__stack+0x1e9>
{
checksum+=StepData[LcvCounter];
6ce: 8c 81 ldd r24, Y+4 ; 0x04
6d0: 99 27 eor r25, r25
6d2: fc 01 movw r30, r24
6d4: e0 56 subi r30, 0x60 ; 96
6d6: fe 4f sbci r31, 0xFE ; 254
6d8: 9b 81 ldd r25, Y+3 ; 0x03
6da: 80 81 ld r24, Z
6dc: 89 0f add r24, r25
6de: 8b 83 std Y+3, r24 ; 0x03
6e0: 8c 81 ldd r24, Y+4 ; 0x04
6e2: 8f 5f subi r24, 0xFF ; 255
6e4: 8c 83 std Y+4, r24 ; 0x04
6e6: f0 cf rjmp .-32 ; 0x6c8 <__stack+0x1c9>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -