You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
115 lines
4.7 KiB
Plaintext
115 lines
4.7 KiB
Plaintext
1 .file "adc.c"
|
|
2 __SP_H__ = 0x3e
|
|
3 __SP_L__ = 0x3d
|
|
4 __SREG__ = 0x3f
|
|
5 __RAMPZ__ = 0x3b
|
|
6 __tmp_reg__ = 0
|
|
7 __zero_reg__ = 1
|
|
8 .text
|
|
9 .Ltext0:
|
|
10 .cfi_sections .debug_frame
|
|
11 .global adc_setup
|
|
13 adc_setup:
|
|
14 .LFB0:
|
|
15 .file 1 "src/adc.c"
|
|
1:src/adc.c **** #include "adc.h"
|
|
2:src/adc.c **** #include "pinout.h"
|
|
3:src/adc.c **** #include <avr/io.h>
|
|
4:src/adc.c ****
|
|
5:src/adc.c **** void adc_setup(void){
|
|
16 .loc 1 5 0
|
|
17 .cfi_startproc
|
|
18 /* prologue: function */
|
|
19 /* frame size = 0 */
|
|
20 /* stack size = 0 */
|
|
21 .L__stack_usage = 0
|
|
6:src/adc.c **** ADMUX = (1 << REFS0); //Versorgungsspannung definieren
|
|
22 .loc 1 6 0
|
|
23 0000 80E4 ldi r24,lo8(64)
|
|
24 0002 8093 7C00 sts 124,r24
|
|
7:src/adc.c **** ADCSRA|= (1 << ADEN) //enable bit für adc
|
|
25 .loc 1 7 0
|
|
26 0006 EAE7 ldi r30,lo8(122)
|
|
27 0008 F0E0 ldi r31,0
|
|
28 000a 8081 ld r24,Z
|
|
29 000c 8368 ori r24,lo8(-125)
|
|
30 000e 8083 st Z,r24
|
|
31 0010 0895 ret
|
|
32 .cfi_endproc
|
|
33 .LFE0:
|
|
35 .global adc_read
|
|
37 adc_read:
|
|
38 .LFB1:
|
|
8:src/adc.c **** | (1 << ADPS0) //setze Prescaler für Abtastfrequenz
|
|
9:src/adc.c **** | (1 << ADPS1) //setze Prescaler für Abtastfrequenz
|
|
10:src/adc.c **** | (0 << ADPS2); //setze Prescaler für Abtastfrequenz
|
|
11:src/adc.c **** }
|
|
12:src/adc.c ****
|
|
13:src/adc.c ****
|
|
14:src/adc.c ****
|
|
15:src/adc.c **** int adc_read(unsigned char adc_pin) {
|
|
39 .loc 1 15 0
|
|
40 .cfi_startproc
|
|
41 .LVL0:
|
|
42 /* prologue: function */
|
|
43 /* frame size = 0 */
|
|
44 /* stack size = 0 */
|
|
45 .L__stack_usage = 0
|
|
16:src/adc.c **** ADMUX &= 0b11110000; //Alte Port-Select Flags löschen
|
|
46 .loc 1 16 0
|
|
47 0012 9091 7C00 lds r25,124
|
|
48 0016 907F andi r25,lo8(-16)
|
|
49 0018 9093 7C00 sts 124,r25
|
|
17:src/adc.c **** ADMUX|=adc_pin; //Neuen Eingang setzen
|
|
50 .loc 1 17 0
|
|
51 001c 9091 7C00 lds r25,124
|
|
52 0020 982B or r25,r24
|
|
53 0022 9093 7C00 sts 124,r25
|
|
18:src/adc.c **** ADCSRA |= (1 << ADSC); // eine Wandlung "single conversion"
|
|
54 .loc 1 18 0
|
|
55 0026 8091 7A00 lds r24,122
|
|
56 .LVL1:
|
|
57 002a 8064 ori r24,lo8(64)
|
|
58 002c 8093 7A00 sts 122,r24
|
|
59 .L4:
|
|
19:src/adc.c **** while (ADCSRA & (1 << ADSC) ) { // auf Abschluss der Konvertierung warten
|
|
60 .loc 1 19 0 discriminator 1
|
|
61 0030 8091 7A00 lds r24,122
|
|
62 0034 86FD sbrc r24,6
|
|
63 0036 00C0 rjmp .L4
|
|
20:src/adc.c **** }
|
|
21:src/adc.c **** int ADCresult = ADCL;
|
|
64 .loc 1 21 0
|
|
65 0038 2091 7800 lds r18,120
|
|
66 .LVL2:
|
|
22:src/adc.c **** ADCresult += (ADCH << 8);
|
|
67 .loc 1 22 0
|
|
68 003c 8091 7900 lds r24,121
|
|
69 .LVL3:
|
|
70 0040 90E0 ldi r25,0
|
|
71 0042 982F mov r25,r24
|
|
72 0044 8827 clr r24
|
|
73 .LVL4:
|
|
23:src/adc.c **** return ADCresult;
|
|
24:src/adc.c **** }
|
|
74 .loc 1 24 0
|
|
75 0046 820F add r24,r18
|
|
76 0048 911D adc r25,__zero_reg__
|
|
77 004a 0895 ret
|
|
78 .cfi_endproc
|
|
79 .LFE1:
|
|
81 .Letext0:
|
|
82 .file 2 "/usr/local/CrossPack-AVR-20131216/avr/include/stdint.h"
|
|
DEFINED SYMBOLS
|
|
*ABS*:00000000 adc.c
|
|
/var/folders/vp/mj8sv_kj3c1gtbdcbb9v8gb80000gn/T//ccQrSfzE.s:2 *ABS*:0000003e __SP_H__
|
|
/var/folders/vp/mj8sv_kj3c1gtbdcbb9v8gb80000gn/T//ccQrSfzE.s:3 *ABS*:0000003d __SP_L__
|
|
/var/folders/vp/mj8sv_kj3c1gtbdcbb9v8gb80000gn/T//ccQrSfzE.s:4 *ABS*:0000003f __SREG__
|
|
/var/folders/vp/mj8sv_kj3c1gtbdcbb9v8gb80000gn/T//ccQrSfzE.s:5 *ABS*:0000003b __RAMPZ__
|
|
/var/folders/vp/mj8sv_kj3c1gtbdcbb9v8gb80000gn/T//ccQrSfzE.s:6 *ABS*:00000000 __tmp_reg__
|
|
/var/folders/vp/mj8sv_kj3c1gtbdcbb9v8gb80000gn/T//ccQrSfzE.s:7 *ABS*:00000001 __zero_reg__
|
|
/var/folders/vp/mj8sv_kj3c1gtbdcbb9v8gb80000gn/T//ccQrSfzE.s:13 .text:00000000 adc_setup
|
|
/var/folders/vp/mj8sv_kj3c1gtbdcbb9v8gb80000gn/T//ccQrSfzE.s:37 .text:00000012 adc_read
|
|
|
|
NO UNDEFINED SYMBOLS
|