📄 main.lss
字号:
MainStdControlInit();
2da: 0e 94 8c 08 call 0x1118
MainStdControlStart();
2de: 0e 94 90 08 call 0x1120
EnableInterrupt();
2e2: 0e 94 93 08 call 0x1126
while (1) {
OSHRunTask();
2e6: 0e 94 cf 08 call 0x119e
2ea: fd cf rjmp .-6 ; 0x2e6
000002ec <ADCHPLInitPortmap>:
void ADCHPLInitPortmap(void)
{
{ uint8_t atomicState = AtomicStart();
2ec: 0e 94 9f 08 call 0x113e
2f0: 28 2f mov r18, r24
{
if (HPLADCM_init_portmap_done == FALSE) {
2f2: 80 91 c7 01 lds r24, 0x01C7
2f6: 88 23 and r24, r24
2f8: 91 f4 brne .+36 ; 0x31e
int i;
for (i = 0; i < OSH_ADC_PORTMAPSIZE; i++)
2fa: 80 e0 ldi r24, 0x00 ; 0
2fc: 90 e0 ldi r25, 0x00 ; 0
2fe: e9 eb ldi r30, 0xB9 ; 185
300: f1 e0 ldi r31, 0x01 ; 1
adcPortmap[i] = i;
302: 81 93 st Z+, r24
304: 01 96 adiw r24, 0x01 ; 1
306: 8c 30 cpi r24, 0x0C ; 12
308: 91 05 cpc r25, r1
30a: dc f3 brlt .-10 ; 0x302
adcPortmap[OS_ADC_BANDGAP_PORT] = OSH_ACTUAL_BANDGAP_PORT;
30c: 8e e1 ldi r24, 0x1E ; 30
30e: 80 93 c3 01 sts 0x01C3, r24
adcPortmap[OS_ADC_GND_PORT] = OSH_ACTUAL_GND_PORT;
312: 8f e1 ldi r24, 0x1F ; 31
314: 80 93 c4 01 sts 0x01C4, r24
HPLADCM_init_portmap_done = TRUE;
318: 81 e0 ldi r24, 0x01 ; 1
31a: 80 93 c7 01 sts 0x01C7, r24
}
}
AtomicEnd(atomicState); }
31e: 82 2f mov r24, r18
320: 0e 94 9d 08 call 0x113a
324: 08 95 ret
00000326 <ADCHPLInit>:
326: 0e 94 76 01 call 0x2ec
32a: 0e 94 9f 08 call 0x113e
32e: 9e e0 ldi r25, 0x0E ; 14
330: 96 b9 out 0x06, r25 ; 6
332: 17 b8 out 0x07, r1 ; 7
334: 0e 94 9d 08 call 0x113a
338: 81 e0 ldi r24, 0x01 ; 1
33a: 90 e0 ldi r25, 0x00 ; 0
33c: 08 95 ret
0000033e <ADCControlInit>:
33e: 0e 94 9f 08 call 0x113e
342: 10 92 c9 01 sts 0x01C9, r1
346: 10 92 c8 01 sts 0x01C8, r1
34a: 10 92 cb 01 sts 0x01CB, r1
34e: 10 92 ca 01 sts 0x01CA, r1
352: 10 92 c6 01 sts 0x01C6, r1
356: 10 92 c5 01 sts 0x01C5, r1
35a: 0e 94 9d 08 call 0x113a
35e: 0e 94 93 01 call 0x326
362: 99 27 eor r25, r25
364: 08 95 ret
00000366 <ADCBindPort>:
366: 1f 93 push r17
368: cf 93 push r28
36a: c8 2f mov r28, r24
36c: 16 2f mov r17, r22
36e: 8c 30 cpi r24, 0x0C ; 12
370: 90 f4 brcc .+36 ; 0x396
372: 8a 30 cpi r24, 0x0A ; 10
374: 81 f0 breq .+32 ; 0x396
376: 8b 30 cpi r24, 0x0B ; 11
378: 71 f0 breq .+28 ; 0x396
37a: 0e 94 76 01 call 0x2ec
37e: 0e 94 9f 08 call 0x113e
382: ec 2f mov r30, r28
384: ff 27 eor r31, r31
386: e7 54 subi r30, 0x47 ; 71
388: fe 4f sbci r31, 0xFE ; 254
38a: 10 83 st Z, r17
38c: 0e 94 9d 08 call 0x113a
390: 81 e0 ldi r24, 0x01 ; 1
392: 90 e0 ldi r25, 0x00 ; 0
394: 02 c0 rjmp .+4 ; 0x39a
396: 80 e0 ldi r24, 0x00 ; 0
398: 90 e0 ldi r25, 0x00 ; 0
39a: cf 91 pop r28
39c: 1f 91 pop r17
39e: 08 95 ret
000003a0 <ADCDataReady>:
3a0: 28 2f mov r18, r24
3a2: 33 27 eor r19, r19
3a4: 21 30 cpi r18, 0x01 ; 1
3a6: 31 05 cpc r19, r1
3a8: 71 f0 breq .+28 ; 0x3c6
3aa: 22 30 cpi r18, 0x02 ; 2
3ac: 31 05 cpc r19, r1
3ae: 1c f4 brge .+6 ; 0x3b6
3b0: 23 2b or r18, r19
3b2: 29 f0 breq .+10 ; 0x3be
3b4: 0a c0 rjmp .+20 ; 0x3ca
3b6: 22 30 cpi r18, 0x02 ; 2
3b8: 31 05 cpc r19, r1
3ba: 29 f0 breq .+10 ; 0x3c6
3bc: 06 c0 rjmp .+12 ; 0x3ca
3be: cb 01 movw r24, r22
3c0: 0e 94 3a 0b call 0x1674
3c4: 03 c0 rjmp .+6 ; 0x3cc
3c6: 81 e0 ldi r24, 0x01 ; 1
3c8: 01 c0 rjmp .+2 ; 0x3cc
3ca: 80 e0 ldi r24, 0x00 ; 0
3cc: 99 27 eor r25, r25
3ce: 08 95 ret
000003d0 <ADCHPLSamplePort>:
}
void __attribute((signal)) __vector_21(void)
{
uint16_t data = * (volatile unsigned int *)(unsigned int )& * (volatile unsigned char *)(0x04 + 0x20);
data &= 0x3ff;
* (volatile unsigned char *)(0x06 + 0x20) |= 1 << 4;
* (volatile unsigned char *)(0x06 + 0x20) &= ~(1 << 7);
EnableInterrupt();
ADCHPLDataReady(data);
}
result_t ADCHPLSamplePort(uint8_t port)
{
3d0: 1f 93 push r17
3d2: 18 2f mov r17, r24
{ uint8_t atomicState = AtomicStart();
3d4: 0e 94 9f 08 call 0x113e
{
* (volatile unsigned char *)(0x07 + 0x20) = adcPortmap[port] & 0x1F;
3d8: e9 eb ldi r30, 0xB9 ; 185
3da: f1 e0 ldi r31, 0x01 ; 1
3dc: e1 0f add r30, r17
3de: f1 1d adc r31, r1
3e0: 90 81 ld r25, Z
3e2: 9f 71 andi r25, 0x1F ; 31
3e4: 97 b9 out 0x07, r25 ; 7
}
AtomicEnd(atomicState); }
3e6: 0e 94 9d 08 call 0x113a
* (volatile unsigned char *)(0x06 + 0x20) |= 1 << 7;
3ea: 37 9a sbi 0x06, 7 ; 6
* (volatile unsigned char *)(0x06 + 0x20) |= 1 << 6;
3ec: 36 9a sbi 0x06, 6 ; 6
return SUCCESS;
} 3ee: 81 e0 ldi r24, 0x01 ; 1
3f0: 90 e0 ldi r25, 0x00 ; 0
3f2: 1f 91 pop r17
3f4: 08 95 ret
000003f6 <ADCHPLDataReady>:
3f6: ef 92 push r14
3f8: ff 92 push r15
3fa: 0f 93 push r16
3fc: 1f 93 push r17
3fe: cf 93 push r28
400: df 93 push r29
402: 8c 01 movw r16, r24
404: 0e 94 9f 08 call 0x113e
408: e8 2e mov r14, r24
40a: f0 90 c8 01 lds r15, 0x01C8
40e: cf 2d mov r28, r15
410: dd 27 eor r29, r29
412: 41 e0 ldi r20, 0x01 ; 1
414: 50 e0 ldi r21, 0x00 ; 0
416: 9a 01 movw r18, r20
418: 0c 2e mov r0, r28
41a: 02 c0 rjmp .+4 ; 0x420
41c: 22 0f add r18, r18
41e: 33 1f adc r19, r19
420: 0a 94 dec r0
422: e2 f7 brpl .-8 ; 0x41c
424: 80 91 ca 01 lds r24, 0x01CA
428: 90 91 cb 01 lds r25, 0x01CB
42c: 82 23 and r24, r18
42e: 93 23 and r25, r19
430: 89 2b or r24, r25
432: 61 f4 brne .+24 ; 0x44c
434: 20 95 com r18
436: 30 95 com r19
438: 80 91 c5 01 lds r24, 0x01C5
43c: 90 91 c6 01 lds r25, 0x01C6
440: 82 23 and r24, r18
442: 93 23 and r25, r19
444: 90 93 c6 01 sts 0x01C6, r25
448: 80 93 c5 01 sts 0x01C5, r24
44c: 60 91 c5 01 lds r22, 0x01C5
450: 70 91 c6 01 lds r23, 0x01C6
454: 61 15 cp r22, r1
456: 71 05 cpc r23, r1
458: 11 f1 breq .+68 ; 0x49e
45a: fa 01 movw r30, r20
45c: 40 91 c8 01 lds r20, 0x01C8
460: 50 91 c9 01 lds r21, 0x01C9
464: 4f 5f subi r20, 0xFF ; 255
466: 5f 4f sbci r21, 0xFF ; 255
468: 4c 30 cpi r20, 0x0C ; 12
46a: 51 05 cpc r21, r1
46c: 11 f0 breq .+4 ; 0x472
46e: 9a 01 movw r18, r20
470: 02 c0 rjmp .+4 ; 0x476
472: 20 e0 ldi r18, 0x00 ; 0
474: 30 e0 ldi r19, 0x00 ; 0
476: a9 01 movw r20, r18
478: cf 01 movw r24, r30
47a: 02 2e mov r0, r18
47c: 02 c0 rjmp .+4 ; 0x482
47e: 88 0f add r24, r24
480: 99 1f adc r25, r25
482: 0a 94 dec r0
484: e2 f7 brpl .-8 ; 0x47e
486: 86 23 and r24, r22
488: 97 23 and r25, r23
48a: 89 2b or r24, r25
48c: 59 f3 breq .-42 ; 0x464
48e: 30 93 c9 01 sts 0x01C9, r19
492: 20 93 c8 01 sts 0x01C8, r18
496: 80 91 c8 01 lds r24, 0x01C8
49a: 0e 94 e8 01 call 0x3d0
49e: 8e 2d mov r24, r14
4a0: 0e 94 9d 08 call 0x113a
4a4: b8 01 movw r22, r16
4a6: 8f 2d mov r24, r15
4a8: 0e 94 d0 01 call 0x3a0
4ac: 18 2f mov r17, r24
4ae: 0e 94 9f 08 call 0x113e
4b2: 68 2f mov r22, r24
4b4: 11 23 and r17, r17
4b6: c9 f4 brne .+50 ; 0x4ea
4b8: 41 e0 ldi r20, 0x01 ; 1
4ba: 50 e0 ldi r21, 0x00 ; 0
4bc: 02 c0 rjmp .+4 ; 0x4c2
4be: 44 0f add r20, r20
4c0: 55 1f adc r21, r21
4c2: ca 95 dec r28
4c4: e2 f7 brpl .-8 ; 0x4be
4c6: 20 91 ca 01 lds r18, 0x01CA
4ca: 30 91 cb 01 lds r19, 0x01CB
4ce: c9 01 movw r24, r18
4d0: 84 23 and r24, r20
4d2: 95 23 and r25, r21
4d4: 89 2b or r24, r25
4d6: 49 f0 breq .+18 ; 0x4ea
4d8: ca 01 movw r24, r20
4da: 80 95 com r24
4dc: 90 95 com r25
4de: 28 23 and r18, r24
4e0: 39 23 and r19, r25
4e2: 30 93 cb 01 sts 0x01CB, r19
4e6: 20 93 ca 01 sts 0x01CA, r18
4ea: 86 2f mov r24, r22
4ec: 0e 94 9d 08 call 0x113a
4f0: 81 e0 ldi r24, 0x01 ; 1
4f2: 90 e0 ldi r25, 0x00 ; 0
4f4: df 91 pop r29
4f6: cf 91 pop r28
4f8: 1f 91 pop r17
4fa: 0f 91 pop r16
4fc: ff 90 pop r15
4fe: ef 90 pop r14
500: 08 95 ret
00000502 <ADCStartGet>:
502: cf 92 push r12
504: df 92 push r13
506: ef 92 push r14
508: ff 92 push r15
50a: 0f 93 push r16
50c: 1f 93 push r17
50e: cf 93 push r28
510: df 93 push r29
512: d8 2e mov r13, r24
514: 16 2f mov r17, r22
516: 01 e0 ldi r16, 0x01 ; 1
518: 6d 30 cpi r22, 0x0D ; 13
51a: 18 f0 brcs .+6 ; 0x522
51c: 80 e0 ldi r24, 0x00 ; 0
51e: 90 e0 ldi r25, 0x00 ; 0
520: 3b c0 rjmp .+118 ; 0x598
522: e6 2e mov r14, r22
524: ff 24 eor r15, r15
526: c1 e0 ldi r28, 0x01 ; 1
528: d0 e0 ldi r29, 0x00 ; 0
52a: 0e 2c mov r0, r14
52c: 02 c0 rjmp .+4 ; 0x532
52e: cc 0f add r28, r28
530: dd 1f adc r29, r29
532: 0a 94 dec r0
534: e2 f7 brpl .-8 ; 0x52e
536: 0e 94 9f 08 call 0x113e
53a: c8 2e mov r12, r24
53c: 20 91 c5 01 lds r18, 0x01C5
540: 30 91 c6 01 lds r19, 0x01C6
544: ce 01 movw r24, r28
546: 82 23 and r24, r18
548: 93 23 and r25, r19
54a: 89 2b or r24, r25
54c: 11 f0 breq .+4 ; 0x552
54e: 00 e0 ldi r16, 0x00 ; 0
550: 1e c0 rjmp .+60 ; 0x58e
552: c9 01 movw r24, r18
554: 8c 2b or r24, r28
556: 9d 2b or r25, r29
558: 90 93 c6 01 sts 0x01C6, r25
55c: 80 93 c5 01 sts 0x01C5, r24
560: 82 e0 ldi r24, 0x02 ; 2
562: d8 16 cp r13, r24
564: 51 f4 brne .+20 ; 0x57a
566: 80 91 ca 01 lds r24, 0x01CA
56a: 90 91 cb 01 lds r25, 0x01CB
56e: 8c 2b or r24, r28
570: 9d 2b or r25, r29
572: 90 93 cb 01 sts 0x01CB, r25
576: 80 93 ca 01 sts 0x01CA, r24
57a: 23 2b or r18, r19
57c: 41 f4 brne .+16 ; 0x58e
57e: f0 92 c9 01 sts 0x01C9, r15
582: e0 92 c8 01 sts 0x01C8, r14
586: 81 2f mov r24, r17
588: 0e 94 e8 01 call 0x3d0
58c: 08 2f mov r16, r24
58e: 8c 2d mov r24, r12
590: 0e 94 9d 08 call 0x113a
594: 80 2f mov r24, r16
596: 99 27 eor r25, r25
598: df 91 pop r29
59a: cf 91 pop r28
59c: 1f 91 pop r17
59e: 0f 91 pop r16
5a0: ff 90 pop r15
5a2: ef 90 pop r14
5a4: df 90 pop r13
5a6: cf 90 pop r12
5a8: 08 95 ret
000005aa <ADCGetData>:
5aa: 68 2f mov r22, r24
5ac: 81 e0 ldi r24, 0x01 ; 1
5ae: 0e 94 81 02 call 0x502
5b2: 99 27 eor r25, r25
5b4: 08 95 ret
000005b6 <__vector_21>:
5b6: 1f 92 push r1
5b8: 0f 92 push r0
5ba: 0f b6 in r0, 0x3f ; 63
5bc: 0f 92 push r0
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -