20130326-182550

This commit is contained in:
BlubbFish 2013-03-26 17:24:35 +00:00
parent ad9209e289
commit 7ba298df56
13 changed files with 1732 additions and 0 deletions

View File

@ -0,0 +1,20 @@

Microsoft Visual Studio Solution File, Format Version 11.00
# Atmel Studio Solution File, Format Version 11.00
Project("{54F91283-7BC4-4236-8FF9-10F437C3AD48}") = "Leuchtklotz", "Leuchtklotz\Leuchtklotz.cproj", "{32847EC0-451A-4380-B515-F7D3C3505568}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|AVR = Debug|AVR
Release|AVR = Release|AVR
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{32847EC0-451A-4380-B515-F7D3C3505568}.Debug|AVR.ActiveCfg = Debug|AVR
{32847EC0-451A-4380-B515-F7D3C3505568}.Debug|AVR.Build.0 = Debug|AVR
{32847EC0-451A-4380-B515-F7D3C3505568}.Release|AVR.ActiveCfg = Release|AVR
{32847EC0-451A-4380-B515-F7D3C3505568}.Release|AVR.Build.0 = Release|AVR
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

Binary file not shown.

View File

@ -0,0 +1,43 @@
Leuchtklotz.d Leuchtklotz.o: .././Leuchtklotz.c \
e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/io.h \
e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/sfr_defs.h \
e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/inttypes.h \
e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/include/stdint.h \
e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/stdint.h \
e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/iotn2313a.h \
e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/portpins.h \
e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/common.h \
e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/version.h \
e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/fuse.h \
e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/lock.h \
e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/util/delay.h \
e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/util/delay_basic.h \
e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/math.h
e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/io.h:
e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/sfr_defs.h:
e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/inttypes.h:
e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/include/stdint.h:
e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/stdint.h:
e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/iotn2313a.h:
e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/portpins.h:
e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/common.h:
e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/version.h:
e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/fuse.h:
e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/lock.h:
e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/util/delay.h:
e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/util/delay_basic.h:
e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/math.h:

View File

@ -0,0 +1 @@
:00000001FF

Binary file not shown.

View File

@ -0,0 +1,58 @@
:1000000014C02CC02BC02AC029C028C027C026C0BD
:1000100025C024C023C022C021C020C01FC01EC0D4
:100020001DC01CC01BC01AC019C011241FBECFEDBB
:10003000CDBF10E0A0E6B0E0EEE8F3E002C005902E
:100040000D92A036B107D9F710E0A0E6B0E001C0EC
:100050001D92A036B107E1F742D197C1D1CF6770A9
:10006000707080FF06C098B3987F98BB98B3962BAA
:1000700098BB81FF0DC098B3977C98BB98B39B0148
:10008000220F331F220F331F220F331F292B28BBB0
:1000900082FF06C092B3987F92BB92B3962B92BB1D
:1000A00083FF0CC082B3877C82BB82B3660F771F4D
:1000B000660F771F660F771F682B62BB08956F92DC
:1000C0007F928F929F92AF92BF92CF92DF92EF92E8
:1000D000FF920F931F93CF93DF938C017B016A01F3
:1000E0005901C0E0D0E088249924839466247724C1
:1000F000B401CE15DF050CF0B301CC15DD050CF411
:100100006260CA15DB050CF46460C801A8DF2196A3
:10011000CF3FD10569F7DF91CF911F910F91FF90EC
:10012000EF90DF90CF90BF90AF909F908F907F9097
:100130006F9008952F923F924F925F926F927F92AD
:100140008F929F92AF92BF92CF92DF92EF92FF92E7
:100150000F931F93CF93DF938C016B015A013901E9
:10016000EE24FF24332422242CC0C52DD42DC80115
:10017000B60175DF2196CF3FD105C9F71E141F04C4
:100180004CF4C32DD22DC801B50169DF2196CE15DF
:10019000DF05C9F70894811C911C8614970429F483
:1001A00009C0882499245E2C4F2C8FEFE816F104A7
:1001B000E4F2E4CF0894E11CF11C8FEFE816F1049F
:1001C00021F0161417046CF3F5CFDF91CF911F9136
:1001D0000F91FF90EF90DF90CF90BF90AF909F90E6
:1001E0008F907F906F905F904F903F902F900895E9
:1001F00085E090E066E070E032DF8FE798E3A1E011
:1002000081509040A040E1F700C0000085E090E000
:1002100060E070E024DF8FE794E8AEE18150904029
:10022000A040E1F700C000008FE090E066E070E0E1
:1002300016DFAFE4B3EC1197F1F700C000008FE0D8
:1002400090E060E070E00BDF8FE79AE1A6E081507C
:100250009040A040E1F700C000008FE090E066E031
:1002600070E0FDDE8FE798E3A1E081509040A04070
:10027000E1F700C000008FE090E060E070E0EFDEAA
:100280008FE79AE1A6E081509040A040E1F700C0DE
:1002900000008FE090E066E070E0E1DE8FEB94ED2F
:1002A000A1E081509040A040E1F700C000008FE045
:1002B00090E060E070E0D3DE8FEF98E0ADE3815036
:1002C0009040A040E1F700C000008FE090E066E0C1
:1002D00070E047E050E024E130E02CDF08958FE348
:1002E00087BB81BB85DF8FE090E060E070E0B7DE28
:1002F00081E090E063E070E0B2DE8FE79AE1A6E093
:1003000081509040A040E1F700C0000081E090E003
:1003100060E070E0A4DE82E090E063E070E09FDEE9
:100320008FE79AE1A6E081509040A040E1F700C03D
:10033000000082E090E060E070E091DE84E090E018
:1003400063E070E08CDE8FE79AE1A6E08150904098
:10035000A040E1F700C0000084E090E060E070E0C1
:100360007EDE88E090E063E070E079DE8FE79AE17E
:10037000A6E081509040A040E1F700C0000088E076
:0E03800090E060E070E06BDEB3CFF894FFCF4A
:00000001FF

View File

@ -0,0 +1,671 @@
Leuchtklotz.elf: file format elf32-avr
Sections:
Idx Name Size VMA LMA File off Algn
0 .text 0000038e 00000000 00000000 00000074 2**1
CONTENTS, ALLOC, LOAD, READONLY, CODE
1 .data 00000000 00800060 0000038e 00000402 2**0
CONTENTS, ALLOC, LOAD, DATA
2 .stab 000006b4 00000000 00000000 00000404 2**2
CONTENTS, READONLY, DEBUGGING
3 .stabstr 00000085 00000000 00000000 00000ab8 2**0
CONTENTS, READONLY, DEBUGGING
4 .debug_aranges 00000080 00000000 00000000 00000b40 2**3
CONTENTS, READONLY, DEBUGGING
5 .debug_info 0000080b 00000000 00000000 00000bc0 2**0
CONTENTS, READONLY, DEBUGGING
6 .debug_abbrev 00000198 00000000 00000000 000013cb 2**0
CONTENTS, READONLY, DEBUGGING
7 .debug_line 0000041e 00000000 00000000 00001563 2**0
CONTENTS, READONLY, DEBUGGING
8 .debug_frame 00000108 00000000 00000000 00001984 2**2
CONTENTS, READONLY, DEBUGGING
9 .debug_str 00000126 00000000 00000000 00001a8c 2**0
CONTENTS, READONLY, DEBUGGING
10 .debug_loc 00000469 00000000 00000000 00001bb2 2**0
CONTENTS, READONLY, DEBUGGING
11 .debug_ranges 00000048 00000000 00000000 0000201b 2**0
CONTENTS, READONLY, DEBUGGING
Disassembly of section .text:
00000000 <__vectors>:
0: 14 c0 rjmp .+40 ; 0x2a <__ctors_end>
2: 2c c0 rjmp .+88 ; 0x5c <__bad_interrupt>
4: 2b c0 rjmp .+86 ; 0x5c <__bad_interrupt>
6: 2a c0 rjmp .+84 ; 0x5c <__bad_interrupt>
8: 29 c0 rjmp .+82 ; 0x5c <__bad_interrupt>
a: 28 c0 rjmp .+80 ; 0x5c <__bad_interrupt>
c: 27 c0 rjmp .+78 ; 0x5c <__bad_interrupt>
e: 26 c0 rjmp .+76 ; 0x5c <__bad_interrupt>
10: 25 c0 rjmp .+74 ; 0x5c <__bad_interrupt>
12: 24 c0 rjmp .+72 ; 0x5c <__bad_interrupt>
14: 23 c0 rjmp .+70 ; 0x5c <__bad_interrupt>
16: 22 c0 rjmp .+68 ; 0x5c <__bad_interrupt>
18: 21 c0 rjmp .+66 ; 0x5c <__bad_interrupt>
1a: 20 c0 rjmp .+64 ; 0x5c <__bad_interrupt>
1c: 1f c0 rjmp .+62 ; 0x5c <__bad_interrupt>
1e: 1e c0 rjmp .+60 ; 0x5c <__bad_interrupt>
20: 1d c0 rjmp .+58 ; 0x5c <__bad_interrupt>
22: 1c c0 rjmp .+56 ; 0x5c <__bad_interrupt>
24: 1b c0 rjmp .+54 ; 0x5c <__bad_interrupt>
26: 1a c0 rjmp .+52 ; 0x5c <__bad_interrupt>
28: 19 c0 rjmp .+50 ; 0x5c <__bad_interrupt>
0000002a <__ctors_end>:
2a: 11 24 eor r1, r1
2c: 1f be out 0x3f, r1 ; 63
2e: cf ed ldi r28, 0xDF ; 223
30: cd bf out 0x3d, r28 ; 61
00000032 <__do_copy_data>:
32: 10 e0 ldi r17, 0x00 ; 0
34: a0 e6 ldi r26, 0x60 ; 96
36: b0 e0 ldi r27, 0x00 ; 0
38: ee e8 ldi r30, 0x8E ; 142
3a: f3 e0 ldi r31, 0x03 ; 3
3c: 02 c0 rjmp .+4 ; 0x42 <__SREG__+0x3>
3e: 05 90 lpm r0, Z+
40: 0d 92 st X+, r0
42: a0 36 cpi r26, 0x60 ; 96
44: b1 07 cpc r27, r17
46: d9 f7 brne .-10 ; 0x3e <__SP_H__>
00000048 <__do_clear_bss>:
48: 10 e0 ldi r17, 0x00 ; 0
4a: a0 e6 ldi r26, 0x60 ; 96
4c: b0 e0 ldi r27, 0x00 ; 0
4e: 01 c0 rjmp .+2 ; 0x52 <.do_clear_bss_start>
00000050 <.do_clear_bss_loop>:
50: 1d 92 st X+, r1
00000052 <.do_clear_bss_start>:
52: a0 36 cpi r26, 0x60 ; 96
54: b1 07 cpc r27, r17
56: e1 f7 brne .-8 ; 0x50 <.do_clear_bss_loop>
58: 42 d1 rcall .+644 ; 0x2de <main>
5a: 97 c1 rjmp .+814 ; 0x38a <_exit>
0000005c <__bad_interrupt>:
5c: d1 cf rjmp .-94 ; 0x0 <__vectors>
0000005e <ledg>:
void ledg(int led, int mask) {
int rgb = 0;
rgb |= (mask & (1<<0)) ? (1<<0) : (0<<0);
rgb |= (mask & (1<<1))?(1<<1):(0<<1);
rgb |= (mask & (1<<2))?(1<<2):(0<<2);
5e: 67 70 andi r22, 0x07 ; 7
60: 70 70 andi r23, 0x00 ; 0
if(led & (1<<0)) {
62: 80 ff sbrs r24, 0
64: 06 c0 rjmp .+12 ; 0x72 <ledg+0x14>
PORTB &= ~((1<<0)|(1<<1)|(1<<2));
66: 98 b3 in r25, 0x18 ; 24
68: 98 7f andi r25, 0xF8 ; 248
6a: 98 bb out 0x18, r25 ; 24
PORTB |= rgb;
6c: 98 b3 in r25, 0x18 ; 24
6e: 96 2b or r25, r22
70: 98 bb out 0x18, r25 ; 24
}
if(led & (1<<1)) {
72: 81 ff sbrs r24, 1
74: 0d c0 rjmp .+26 ; 0x90 <ledg+0x32>
PORTB &= ~((1<<3)|(1<<4)|(1<<5));
76: 98 b3 in r25, 0x18 ; 24
78: 97 7c andi r25, 0xC7 ; 199
7a: 98 bb out 0x18, r25 ; 24
PORTB |= (rgb<<3);
7c: 98 b3 in r25, 0x18 ; 24
7e: 9b 01 movw r18, r22
80: 22 0f add r18, r18
82: 33 1f adc r19, r19
84: 22 0f add r18, r18
86: 33 1f adc r19, r19
88: 22 0f add r18, r18
8a: 33 1f adc r19, r19
8c: 29 2b or r18, r25
8e: 28 bb out 0x18, r18 ; 24
}
if(led & (1<<2)) {
90: 82 ff sbrs r24, 2
92: 06 c0 rjmp .+12 ; 0xa0 <ledg+0x42>
PORTD &= ~((1<<0)|(1<<1)|(1<<2));
94: 92 b3 in r25, 0x12 ; 18
96: 98 7f andi r25, 0xF8 ; 248
98: 92 bb out 0x12, r25 ; 18
PORTD |= rgb;
9a: 92 b3 in r25, 0x12 ; 18
9c: 96 2b or r25, r22
9e: 92 bb out 0x12, r25 ; 18
}
if(led & (1<<3)) {
a0: 83 ff sbrs r24, 3
a2: 0c c0 rjmp .+24 ; 0xbc <ledg+0x5e>
PORTD &= ~((1<<3)|(1<<4)|(1<<5));
a4: 82 b3 in r24, 0x12 ; 18
a6: 87 7c andi r24, 0xC7 ; 199
a8: 82 bb out 0x12, r24 ; 18
PORTD |= (rgb<<3);
aa: 82 b3 in r24, 0x12 ; 18
ac: 66 0f add r22, r22
ae: 77 1f adc r23, r23
b0: 66 0f add r22, r22
b2: 77 1f adc r23, r23
b4: 66 0f add r22, r22
b6: 77 1f adc r23, r23
b8: 68 2b or r22, r24
ba: 62 bb out 0x12, r22 ; 18
bc: 08 95 ret
000000be <rgbl>:
}
}
void rgbl(int led, int red, int green, int blue) {
be: 6f 92 push r6
c0: 7f 92 push r7
c2: 8f 92 push r8
c4: 9f 92 push r9
c6: af 92 push r10
c8: bf 92 push r11
ca: cf 92 push r12
cc: df 92 push r13
ce: ef 92 push r14
d0: ff 92 push r15
d2: 0f 93 push r16
d4: 1f 93 push r17
d6: cf 93 push r28
d8: df 93 push r29
da: 8c 01 movw r16, r24
dc: 7b 01 movw r14, r22
de: 6a 01 movw r12, r20
e0: 59 01 movw r10, r18
for (int i=0;i<0xFF;i++)
e2: c0 e0 ldi r28, 0x00 ; 0
e4: d0 e0 ldi r29, 0x00 ; 0
{
int rgb = 0;
e6: 88 24 eor r8, r8
e8: 99 24 eor r9, r9
ea: 83 94 inc r8
ec: 66 24 eor r6, r6
ee: 77 24 eor r7, r7
f0: b4 01 movw r22, r8
f2: ce 15 cp r28, r14
f4: df 05 cpc r29, r15
f6: 0c f0 brlt .+2 ; 0xfa <__stack+0x1b>
f8: b3 01 movw r22, r6
if(i<red) {
rgb |= RED;
}
if(i<green) {
fa: cc 15 cp r28, r12
fc: dd 05 cpc r29, r13
fe: 0c f4 brge .+2 ; 0x102 <__stack+0x23>
rgb |= GREEN;
100: 62 60 ori r22, 0x02 ; 2
}
if(i<blue) {
102: ca 15 cp r28, r10
104: db 05 cpc r29, r11
106: 0c f4 brge .+2 ; 0x10a <__stack+0x2b>
rgb |= BLUE;
108: 64 60 ori r22, 0x04 ; 4
}
ledg(led,rgb);
10a: c8 01 movw r24, r16
10c: a8 df rcall .-176 ; 0x5e <ledg>
PORTD |= (rgb<<3);
}
}
void rgbl(int led, int red, int green, int blue) {
for (int i=0;i<0xFF;i++)
10e: 21 96 adiw r28, 0x01 ; 1
110: cf 3f cpi r28, 0xFF ; 255
112: d1 05 cpc r29, r1
114: 69 f7 brne .-38 ; 0xf0 <__stack+0x11>
if(i<blue) {
rgb |= BLUE;
}
ledg(led,rgb);
}
}
116: df 91 pop r29
118: cf 91 pop r28
11a: 1f 91 pop r17
11c: 0f 91 pop r16
11e: ff 90 pop r15
120: ef 90 pop r14
122: df 90 pop r13
124: cf 90 pop r12
126: bf 90 pop r11
128: af 90 pop r10
12a: 9f 90 pop r9
12c: 8f 90 pop r8
12e: 7f 90 pop r7
130: 6f 90 pop r6
132: 08 95 ret
00000134 <fade>:
void fade(int led, int from, int to, int dur) {
134: 2f 92 push r2
136: 3f 92 push r3
138: 4f 92 push r4
13a: 5f 92 push r5
13c: 6f 92 push r6
13e: 7f 92 push r7
140: 8f 92 push r8
142: 9f 92 push r9
144: af 92 push r10
146: bf 92 push r11
148: cf 92 push r12
14a: df 92 push r13
14c: ef 92 push r14
14e: ff 92 push r15
150: 0f 93 push r16
152: 1f 93 push r17
154: cf 93 push r28
156: df 93 push r29
158: 8c 01 movw r16, r24
15a: 6b 01 movw r12, r22
15c: 5a 01 movw r10, r20
15e: 39 01 movw r6, r18
for (int i=0;i<0xFF;i++)
160: ee 24 eor r14, r14
162: ff 24 eor r15, r15
for(int k=0;k<dur;k++) {
for (int j=i;j<0xFF;j++)
{
ledg(led,from);
}
for (int j=0;j<i;j++)
164: 33 24 eor r3, r3
166: 22 24 eor r2, r2
168: 2c c0 rjmp .+88 ; 0x1c2 <fade+0x8e>
void fade(int led, int from, int to, int dur) {
for (int i=0;i<0xFF;i++)
{
for(int k=0;k<dur;k++) {
for (int j=i;j<0xFF;j++)
16a: c5 2d mov r28, r5
16c: d4 2d mov r29, r4
{
ledg(led,from);
16e: c8 01 movw r24, r16
170: b6 01 movw r22, r12
172: 75 df rcall .-278 ; 0x5e <ledg>
void fade(int led, int from, int to, int dur) {
for (int i=0;i<0xFF;i++)
{
for(int k=0;k<dur;k++) {
for (int j=i;j<0xFF;j++)
174: 21 96 adiw r28, 0x01 ; 1
176: cf 3f cpi r28, 0xFF ; 255
178: d1 05 cpc r29, r1
17a: c9 f7 brne .-14 ; 0x16e <fade+0x3a>
{
ledg(led,from);
}
for (int j=0;j<i;j++)
17c: 1e 14 cp r1, r14
17e: 1f 04 cpc r1, r15
180: 4c f4 brge .+18 ; 0x194 <fade+0x60>
182: c3 2d mov r28, r3
184: d2 2d mov r29, r2
{
ledg(led,to);
186: c8 01 movw r24, r16
188: b5 01 movw r22, r10
18a: 69 df rcall .-302 ; 0x5e <ledg>
for(int k=0;k<dur;k++) {
for (int j=i;j<0xFF;j++)
{
ledg(led,from);
}
for (int j=0;j<i;j++)
18c: 21 96 adiw r28, 0x01 ; 1
18e: ce 15 cp r28, r14
190: df 05 cpc r29, r15
192: c9 f7 brne .-14 ; 0x186 <fade+0x52>
}
void fade(int led, int from, int to, int dur) {
for (int i=0;i<0xFF;i++)
{
for(int k=0;k<dur;k++) {
194: 08 94 sec
196: 81 1c adc r8, r1
198: 91 1c adc r9, r1
19a: 86 14 cp r8, r6
19c: 97 04 cpc r9, r7
19e: 29 f4 brne .+10 ; 0x1aa <fade+0x76>
1a0: 09 c0 rjmp .+18 ; 0x1b4 <fade+0x80>
1a2: 88 24 eor r8, r8
1a4: 99 24 eor r9, r9
for (int j=i;j<0xFF;j++)
1a6: 5e 2c mov r5, r14
1a8: 4f 2c mov r4, r15
1aa: 8f ef ldi r24, 0xFF ; 255
1ac: e8 16 cp r14, r24
1ae: f1 04 cpc r15, r1
1b0: e4 f2 brlt .-72 ; 0x16a <fade+0x36>
1b2: e4 cf rjmp .-56 ; 0x17c <fade+0x48>
ledg(led,rgb);
}
}
void fade(int led, int from, int to, int dur) {
for (int i=0;i<0xFF;i++)
1b4: 08 94 sec
1b6: e1 1c adc r14, r1
1b8: f1 1c adc r15, r1
1ba: 8f ef ldi r24, 0xFF ; 255
1bc: e8 16 cp r14, r24
1be: f1 04 cpc r15, r1
1c0: 21 f0 breq .+8 ; 0x1ca <fade+0x96>
{
for(int k=0;k<dur;k++) {
1c2: 16 14 cp r1, r6
1c4: 17 04 cpc r1, r7
1c6: 6c f3 brlt .-38 ; 0x1a2 <fade+0x6e>
1c8: f5 cf rjmp .-22 ; 0x1b4 <fade+0x80>
{
ledg(led,to);
}
}
}
}
1ca: df 91 pop r29
1cc: cf 91 pop r28
1ce: 1f 91 pop r17
1d0: 0f 91 pop r16
1d2: ff 90 pop r15
1d4: ef 90 pop r14
1d6: df 90 pop r13
1d8: cf 90 pop r12
1da: bf 90 pop r11
1dc: af 90 pop r10
1de: 9f 90 pop r9
1e0: 8f 90 pop r8
1e2: 7f 90 pop r7
1e4: 6f 90 pop r6
1e6: 5f 90 pop r5
1e8: 4f 90 pop r4
1ea: 3f 90 pop r3
1ec: 2f 90 pop r2
1ee: 08 95 ret
000001f0 <initleds>:
void initleds() {
ledg(LED1 | LED3, CYAN);
1f0: 85 e0 ldi r24, 0x05 ; 5
1f2: 90 e0 ldi r25, 0x00 ; 0
1f4: 66 e0 ldi r22, 0x06 ; 6
1f6: 70 e0 ldi r23, 0x00 ; 0
1f8: 32 df rcall .-412 ; 0x5e <ledg>
#else
//round up by default
__ticks_dc = (uint32_t)(ceil(fabs(__tmp)));
#endif
__builtin_avr_delay_cycles(__ticks_dc);
1fa: 8f e7 ldi r24, 0x7F ; 127
1fc: 98 e3 ldi r25, 0x38 ; 56
1fe: a1 e0 ldi r26, 0x01 ; 1
200: 81 50 subi r24, 0x01 ; 1
202: 90 40 sbci r25, 0x00 ; 0
204: a0 40 sbci r26, 0x00 ; 0
206: e1 f7 brne .-8 ; 0x200 <initleds+0x10>
208: 00 c0 rjmp .+0 ; 0x20a <initleds+0x1a>
20a: 00 00 nop
_delay_ms(20);
ledg(LED1 | LED3, BLACK);
20c: 85 e0 ldi r24, 0x05 ; 5
20e: 90 e0 ldi r25, 0x00 ; 0
210: 60 e0 ldi r22, 0x00 ; 0
212: 70 e0 ldi r23, 0x00 ; 0
214: 24 df rcall .-440 ; 0x5e <ledg>
216: 8f e7 ldi r24, 0x7F ; 127
218: 94 e8 ldi r25, 0x84 ; 132
21a: ae e1 ldi r26, 0x1E ; 30
21c: 81 50 subi r24, 0x01 ; 1
21e: 90 40 sbci r25, 0x00 ; 0
220: a0 40 sbci r26, 0x00 ; 0
222: e1 f7 brne .-8 ; 0x21c <initleds+0x2c>
224: 00 c0 rjmp .+0 ; 0x226 <initleds+0x36>
226: 00 00 nop
_delay_ms(500);
ledg(LED1 | LED2 | LED3 | LED4, CYAN);
228: 8f e0 ldi r24, 0x0F ; 15
22a: 90 e0 ldi r25, 0x00 ; 0
22c: 66 e0 ldi r22, 0x06 ; 6
22e: 70 e0 ldi r23, 0x00 ; 0
230: 16 df rcall .-468 ; 0x5e <ledg>
232: af e4 ldi r26, 0x4F ; 79
234: b3 ec ldi r27, 0xC3 ; 195
236: 11 97 sbiw r26, 0x01 ; 1
238: f1 f7 brne .-4 ; 0x236 <initleds+0x46>
23a: 00 c0 rjmp .+0 ; 0x23c <initleds+0x4c>
23c: 00 00 nop
_delay_ms(10);
ledg(LED1 | LED2 | LED3 | LED4, BLACK);
23e: 8f e0 ldi r24, 0x0F ; 15
240: 90 e0 ldi r25, 0x00 ; 0
242: 60 e0 ldi r22, 0x00 ; 0
244: 70 e0 ldi r23, 0x00 ; 0
246: 0b df rcall .-490 ; 0x5e <ledg>
248: 8f e7 ldi r24, 0x7F ; 127
24a: 9a e1 ldi r25, 0x1A ; 26
24c: a6 e0 ldi r26, 0x06 ; 6
24e: 81 50 subi r24, 0x01 ; 1
250: 90 40 sbci r25, 0x00 ; 0
252: a0 40 sbci r26, 0x00 ; 0
254: e1 f7 brne .-8 ; 0x24e <initleds+0x5e>
256: 00 c0 rjmp .+0 ; 0x258 <initleds+0x68>
258: 00 00 nop
_delay_ms(100);
ledg(LED1 | LED2 | LED3 | LED4, CYAN);
25a: 8f e0 ldi r24, 0x0F ; 15
25c: 90 e0 ldi r25, 0x00 ; 0
25e: 66 e0 ldi r22, 0x06 ; 6
260: 70 e0 ldi r23, 0x00 ; 0
262: fd de rcall .-518 ; 0x5e <ledg>
264: 8f e7 ldi r24, 0x7F ; 127
266: 98 e3 ldi r25, 0x38 ; 56
268: a1 e0 ldi r26, 0x01 ; 1
26a: 81 50 subi r24, 0x01 ; 1
26c: 90 40 sbci r25, 0x00 ; 0
26e: a0 40 sbci r26, 0x00 ; 0
270: e1 f7 brne .-8 ; 0x26a <initleds+0x7a>
272: 00 c0 rjmp .+0 ; 0x274 <initleds+0x84>
274: 00 00 nop
_delay_ms(20);
ledg(LED1 | LED2 | LED3 | LED4, BLACK);
276: 8f e0 ldi r24, 0x0F ; 15
278: 90 e0 ldi r25, 0x00 ; 0
27a: 60 e0 ldi r22, 0x00 ; 0
27c: 70 e0 ldi r23, 0x00 ; 0
27e: ef de rcall .-546 ; 0x5e <ledg>
280: 8f e7 ldi r24, 0x7F ; 127
282: 9a e1 ldi r25, 0x1A ; 26
284: a6 e0 ldi r26, 0x06 ; 6
286: 81 50 subi r24, 0x01 ; 1
288: 90 40 sbci r25, 0x00 ; 0
28a: a0 40 sbci r26, 0x00 ; 0
28c: e1 f7 brne .-8 ; 0x286 <initleds+0x96>
28e: 00 c0 rjmp .+0 ; 0x290 <initleds+0xa0>
290: 00 00 nop
_delay_ms(100);
ledg(LED1 | LED2 | LED3 | LED4, CYAN);
292: 8f e0 ldi r24, 0x0F ; 15
294: 90 e0 ldi r25, 0x00 ; 0
296: 66 e0 ldi r22, 0x06 ; 6
298: 70 e0 ldi r23, 0x00 ; 0
29a: e1 de rcall .-574 ; 0x5e <ledg>
29c: 8f eb ldi r24, 0xBF ; 191
29e: 94 ed ldi r25, 0xD4 ; 212
2a0: a1 e0 ldi r26, 0x01 ; 1
2a2: 81 50 subi r24, 0x01 ; 1
2a4: 90 40 sbci r25, 0x00 ; 0
2a6: a0 40 sbci r26, 0x00 ; 0
2a8: e1 f7 brne .-8 ; 0x2a2 <initleds+0xb2>
2aa: 00 c0 rjmp .+0 ; 0x2ac <initleds+0xbc>
2ac: 00 00 nop
_delay_ms(30);
ledg(LED1 | LED2 | LED3 | LED4, BLACK);
2ae: 8f e0 ldi r24, 0x0F ; 15
2b0: 90 e0 ldi r25, 0x00 ; 0
2b2: 60 e0 ldi r22, 0x00 ; 0
2b4: 70 e0 ldi r23, 0x00 ; 0
2b6: d3 de rcall .-602 ; 0x5e <ledg>
2b8: 8f ef ldi r24, 0xFF ; 255
2ba: 98 e0 ldi r25, 0x08 ; 8
2bc: ad e3 ldi r26, 0x3D ; 61
2be: 81 50 subi r24, 0x01 ; 1
2c0: 90 40 sbci r25, 0x00 ; 0
2c2: a0 40 sbci r26, 0x00 ; 0
2c4: e1 f7 brne .-8 ; 0x2be <initleds+0xce>
2c6: 00 c0 rjmp .+0 ; 0x2c8 <initleds+0xd8>
2c8: 00 00 nop
_delay_ms(1000);
fade(LED1 | LED2 | LED3 | LED4, CYAN, WHITE, 20);
2ca: 8f e0 ldi r24, 0x0F ; 15
2cc: 90 e0 ldi r25, 0x00 ; 0
2ce: 66 e0 ldi r22, 0x06 ; 6
2d0: 70 e0 ldi r23, 0x00 ; 0
2d2: 47 e0 ldi r20, 0x07 ; 7
2d4: 50 e0 ldi r21, 0x00 ; 0
2d6: 24 e1 ldi r18, 0x14 ; 20
2d8: 30 e0 ldi r19, 0x00 ; 0
2da: 2c df rcall .-424 ; 0x134 <fade>
}
2dc: 08 95 ret
000002de <main>:
int main(void)
{
DDRB = 0b00111111;
2de: 8f e3 ldi r24, 0x3F ; 63
2e0: 87 bb out 0x17, r24 ; 23
DDRD = 0b00111111;
2e2: 81 bb out 0x11, r24 ; 17
initleds();
2e4: 85 df rcall .-246 ; 0x1f0 <initleds>
fade(LED1 | LED2 | LED3 | LED4, GREEN, CYAN, 120);
fade(LED1 | LED2 | LED3 | LED4, CYAN, BLUE, 120);
fade(LED1 | LED2 | LED3 | LED4, BLUE, MAGENTA, 120);
fade(LED1 | LED2 | LED3 | LED4, MAGENTA, RED, 120);
}*/
ledg(LED1 | LED2 | LED3 | LED4, BLACK);
2e6: 8f e0 ldi r24, 0x0F ; 15
2e8: 90 e0 ldi r25, 0x00 ; 0
2ea: 60 e0 ldi r22, 0x00 ; 0
2ec: 70 e0 ldi r23, 0x00 ; 0
2ee: b7 de rcall .-658 ; 0x5e <ledg>
while(1) {
ledg(LED1,YELLOW);
2f0: 81 e0 ldi r24, 0x01 ; 1
2f2: 90 e0 ldi r25, 0x00 ; 0
2f4: 63 e0 ldi r22, 0x03 ; 3
2f6: 70 e0 ldi r23, 0x00 ; 0
2f8: b2 de rcall .-668 ; 0x5e <ledg>
2fa: 8f e7 ldi r24, 0x7F ; 127
2fc: 9a e1 ldi r25, 0x1A ; 26
2fe: a6 e0 ldi r26, 0x06 ; 6
300: 81 50 subi r24, 0x01 ; 1
302: 90 40 sbci r25, 0x00 ; 0
304: a0 40 sbci r26, 0x00 ; 0
306: e1 f7 brne .-8 ; 0x300 <main+0x22>
308: 00 c0 rjmp .+0 ; 0x30a <main+0x2c>
30a: 00 00 nop
_delay_ms(100);
ledg(LED1,BLACK);
30c: 81 e0 ldi r24, 0x01 ; 1
30e: 90 e0 ldi r25, 0x00 ; 0
310: 60 e0 ldi r22, 0x00 ; 0
312: 70 e0 ldi r23, 0x00 ; 0
314: a4 de rcall .-696 ; 0x5e <ledg>
ledg(LED2,YELLOW);
316: 82 e0 ldi r24, 0x02 ; 2
318: 90 e0 ldi r25, 0x00 ; 0
31a: 63 e0 ldi r22, 0x03 ; 3
31c: 70 e0 ldi r23, 0x00 ; 0
31e: 9f de rcall .-706 ; 0x5e <ledg>
320: 8f e7 ldi r24, 0x7F ; 127
322: 9a e1 ldi r25, 0x1A ; 26
324: a6 e0 ldi r26, 0x06 ; 6
326: 81 50 subi r24, 0x01 ; 1
328: 90 40 sbci r25, 0x00 ; 0
32a: a0 40 sbci r26, 0x00 ; 0
32c: e1 f7 brne .-8 ; 0x326 <main+0x48>
32e: 00 c0 rjmp .+0 ; 0x330 <main+0x52>
330: 00 00 nop
_delay_ms(100);
ledg(LED2,BLACK);
332: 82 e0 ldi r24, 0x02 ; 2
334: 90 e0 ldi r25, 0x00 ; 0
336: 60 e0 ldi r22, 0x00 ; 0
338: 70 e0 ldi r23, 0x00 ; 0
33a: 91 de rcall .-734 ; 0x5e <ledg>
ledg(LED3,YELLOW);
33c: 84 e0 ldi r24, 0x04 ; 4
33e: 90 e0 ldi r25, 0x00 ; 0
340: 63 e0 ldi r22, 0x03 ; 3
342: 70 e0 ldi r23, 0x00 ; 0
344: 8c de rcall .-744 ; 0x5e <ledg>
346: 8f e7 ldi r24, 0x7F ; 127
348: 9a e1 ldi r25, 0x1A ; 26
34a: a6 e0 ldi r26, 0x06 ; 6
34c: 81 50 subi r24, 0x01 ; 1
34e: 90 40 sbci r25, 0x00 ; 0
350: a0 40 sbci r26, 0x00 ; 0
352: e1 f7 brne .-8 ; 0x34c <main+0x6e>
354: 00 c0 rjmp .+0 ; 0x356 <main+0x78>
356: 00 00 nop
_delay_ms(100);
ledg(LED3,BLACK);
358: 84 e0 ldi r24, 0x04 ; 4
35a: 90 e0 ldi r25, 0x00 ; 0
35c: 60 e0 ldi r22, 0x00 ; 0
35e: 70 e0 ldi r23, 0x00 ; 0
360: 7e de rcall .-772 ; 0x5e <ledg>
ledg(LED4,YELLOW);
362: 88 e0 ldi r24, 0x08 ; 8
364: 90 e0 ldi r25, 0x00 ; 0
366: 63 e0 ldi r22, 0x03 ; 3
368: 70 e0 ldi r23, 0x00 ; 0
36a: 79 de rcall .-782 ; 0x5e <ledg>
36c: 8f e7 ldi r24, 0x7F ; 127
36e: 9a e1 ldi r25, 0x1A ; 26
370: a6 e0 ldi r26, 0x06 ; 6
372: 81 50 subi r24, 0x01 ; 1
374: 90 40 sbci r25, 0x00 ; 0
376: a0 40 sbci r26, 0x00 ; 0
378: e1 f7 brne .-8 ; 0x372 <main+0x94>
37a: 00 c0 rjmp .+0 ; 0x37c <main+0x9e>
37c: 00 00 nop
_delay_ms(100);
ledg(LED4,BLACK);
37e: 88 e0 ldi r24, 0x08 ; 8
380: 90 e0 ldi r25, 0x00 ; 0
382: 60 e0 ldi r22, 0x00 ; 0
384: 70 e0 ldi r23, 0x00 ; 0
386: 6b de rcall .-810 ; 0x5e <ledg>
388: b3 cf rjmp .-154 ; 0x2f0 <main+0x12>
0000038a <_exit>:
38a: f8 94 cli
0000038c <__stop_program>:
38c: ff cf rjmp .-2 ; 0x38c <__stop_program>

View File

@ -0,0 +1,383 @@
Archive member included because of file (symbol)
e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr25\libgcc.a(_exit.o)
e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr25/crttn2313a.o (exit)
e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr25\libgcc.a(_copy_data.o)
Leuchtklotz.o (__do_copy_data)
e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr25\libgcc.a(_clear_bss.o)
Leuchtklotz.o (__do_clear_bss)
Memory Configuration
Name Origin Length Attributes
text 0x00000000 0x00002000 xr
data 0x00800060 0x0000ffa0 rw !x
eeprom 0x00810000 0x00010000 rw !x
fuse 0x00820000 0x00000400 rw !x
lock 0x00830000 0x00000400 rw !x
signature 0x00840000 0x00000400 rw !x
*default* 0x00000000 0xffffffff
Linker script and memory map
LOAD e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr25/crttn2313a.o
LOAD Leuchtklotz.o
START GROUP
LOAD e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr25\libm.a
END GROUP
LOAD e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr25\libgcc.a
LOAD e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr25\libc.a
LOAD e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr25\libgcc.a
.hash
*(.hash)
.dynsym
*(.dynsym)
.dynstr
*(.dynstr)
.gnu.version
*(.gnu.version)
.gnu.version_d
*(.gnu.version_d)
.gnu.version_r
*(.gnu.version_r)
.rel.init
*(.rel.init)
.rela.init
*(.rela.init)
.rel.text
*(.rel.text)
*(.rel.text.*)
*(.rel.gnu.linkonce.t*)
.rela.text
*(.rela.text)
*(.rela.text.*)
*(.rela.gnu.linkonce.t*)
.rel.fini
*(.rel.fini)
.rela.fini
*(.rela.fini)
.rel.rodata
*(.rel.rodata)
*(.rel.rodata.*)
*(.rel.gnu.linkonce.r*)
.rela.rodata
*(.rela.rodata)
*(.rela.rodata.*)
*(.rela.gnu.linkonce.r*)
.rel.data
*(.rel.data)
*(.rel.data.*)
*(.rel.gnu.linkonce.d*)
.rela.data
*(.rela.data)
*(.rela.data.*)
*(.rela.gnu.linkonce.d*)
.rel.ctors
*(.rel.ctors)
.rela.ctors
*(.rela.ctors)
.rel.dtors
*(.rel.dtors)
.rela.dtors
*(.rela.dtors)
.rel.got
*(.rel.got)
.rela.got
*(.rela.got)
.rel.bss
*(.rel.bss)
.rela.bss
*(.rela.bss)
.rel.plt
*(.rel.plt)
.rela.plt
*(.rela.plt)
.text 0x00000000 0x38e
*(.vectors)
.vectors 0x00000000 0x2a e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr25/crttn2313a.o
0x00000000 __vector_default
0x00000000 __vectors
*(.vectors)
*(.progmem.gcc*)
*(.progmem*)
0x0000002a . = ALIGN (0x2)
0x0000002a __trampolines_start = .
*(.trampolines)
.trampolines 0x0000002a 0x0 linker stubs
*(.trampolines*)
0x0000002a __trampolines_end = .
*(.jumptables)
*(.jumptables*)
*(.lowtext)
*(.lowtext*)
0x0000002a __ctors_start = .
*(.ctors)
0x0000002a __ctors_end = .
0x0000002a __dtors_start = .
*(.dtors)
0x0000002a __dtors_end = .
SORT(*)(.ctors)
SORT(*)(.dtors)
*(.init0)
.init0 0x0000002a 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr25/crttn2313a.o
0x0000002a __init
*(.init0)
*(.init1)
*(.init1)
*(.init2)
.init2 0x0000002a 0x8 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr25/crttn2313a.o
*(.init2)
*(.init3)
*(.init3)
*(.init4)
.init4 0x00000032 0x16 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr25\libgcc.a(_copy_data.o)
0x00000032 __do_copy_data
.init4 0x00000048 0x10 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr25\libgcc.a(_clear_bss.o)
0x00000048 __do_clear_bss
*(.init4)
*(.init5)
*(.init5)
*(.init6)
*(.init6)
*(.init7)
*(.init7)
*(.init8)
*(.init8)
*(.init9)
.init9 0x00000058 0x4 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr25/crttn2313a.o
*(.init9)
*(.text)
.text 0x0000005c 0x2 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr25/crttn2313a.o
0x0000005c __vector_1
0x0000005c __vector_12
0x0000005c __bad_interrupt
0x0000005c __vector_6
0x0000005c __vector_3
0x0000005c __vector_11
0x0000005c __vector_13
0x0000005c __vector_17
0x0000005c __vector_19
0x0000005c __vector_7
0x0000005c __vector_5
0x0000005c __vector_4
0x0000005c __vector_9
0x0000005c __vector_2
0x0000005c __vector_15
0x0000005c __vector_8
0x0000005c __vector_14
0x0000005c __vector_10
0x0000005c __vector_16
0x0000005c __vector_18
0x0000005c __vector_20
.text 0x0000005e 0x32c Leuchtklotz.o
0x0000005e ledg
0x000000be rgbl
0x00000134 fade
0x000001f0 initleds
0x000002de main
.text 0x0000038a 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr25\libgcc.a(_exit.o)
.text 0x0000038a 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr25\libgcc.a(_copy_data.o)
.text 0x0000038a 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr25\libgcc.a(_clear_bss.o)
0x0000038a . = ALIGN (0x2)
*(.text.*)
.text.libgcc 0x0000038a 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr25\libgcc.a(_exit.o)
.text.libgcc 0x0000038a 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr25\libgcc.a(_copy_data.o)
.text.libgcc 0x0000038a 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr25\libgcc.a(_clear_bss.o)
0x0000038a . = ALIGN (0x2)
*(.fini9)
.fini9 0x0000038a 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr25\libgcc.a(_exit.o)
0x0000038a _exit
0x0000038a exit
*(.fini9)
*(.fini8)
*(.fini8)
*(.fini7)
*(.fini7)
*(.fini6)
*(.fini6)
*(.fini5)
*(.fini5)
*(.fini4)
*(.fini4)
*(.fini3)
*(.fini3)
*(.fini2)
*(.fini2)
*(.fini1)
*(.fini1)
*(.fini0)
.fini0 0x0000038a 0x4 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr25\libgcc.a(_exit.o)
*(.fini0)
0x0000038e _etext = .
.data 0x00800060 0x0 load address 0x0000038e
0x00800060 PROVIDE (__data_start, .)
*(.data)
.data 0x00800060 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr25/crttn2313a.o
.data 0x00800060 0x0 Leuchtklotz.o
.data 0x00800060 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr25\libgcc.a(_exit.o)
.data 0x00800060 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr25\libgcc.a(_copy_data.o)
.data 0x00800060 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr25\libgcc.a(_clear_bss.o)
*(.data*)
*(.rodata)
*(.rodata*)
*(.gnu.linkonce.d*)
0x00800060 . = ALIGN (0x2)
0x00800060 _edata = .
0x00800060 PROVIDE (__data_end, .)
.bss 0x00800060 0x0
0x00800060 PROVIDE (__bss_start, .)
*(.bss)
.bss 0x00800060 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr25/crttn2313a.o
.bss 0x00800060 0x0 Leuchtklotz.o
.bss 0x00800060 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr25\libgcc.a(_exit.o)
.bss 0x00800060 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr25\libgcc.a(_copy_data.o)
.bss 0x00800060 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr25\libgcc.a(_clear_bss.o)
*(.bss*)
*(COMMON)
0x00800060 PROVIDE (__bss_end, .)
0x0000038e __data_load_start = LOADADDR (.data)
0x0000038e __data_load_end = (__data_load_start + SIZEOF (.data))
.noinit 0x00800060 0x0
0x00800060 PROVIDE (__noinit_start, .)
*(.noinit*)
0x00800060 PROVIDE (__noinit_end, .)
0x00800060 _end = .
0x00800060 PROVIDE (__heap_start, .)
.eeprom 0x00810000 0x0
*(.eeprom*)
0x00810000 __eeprom_end = .
.fuse
*(.fuse)
*(.lfuse)
*(.hfuse)
*(.efuse)
.lock
*(.lock*)
.signature
*(.signature*)
.stab 0x00000000 0x6b4
*(.stab)
.stab 0x00000000 0x6b4 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr25/crttn2313a.o
.stabstr 0x00000000 0x85
*(.stabstr)
.stabstr 0x00000000 0x85 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr25/crttn2313a.o
.stab.excl
*(.stab.excl)
.stab.exclstr
*(.stab.exclstr)
.stab.index
*(.stab.index)
.stab.indexstr
*(.stab.indexstr)
.comment
*(.comment)
.debug
*(.debug)
.line
*(.line)
.debug_srcinfo
*(.debug_srcinfo)
.debug_sfnames
*(.debug_sfnames)
.debug_aranges 0x00000000 0x80
*(.debug_aranges)
.debug_aranges
0x00000000 0x20 Leuchtklotz.o
.debug_aranges
0x00000020 0x20 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr25\libgcc.a(_exit.o)
.debug_aranges
0x00000040 0x20 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr25\libgcc.a(_copy_data.o)
.debug_aranges
0x00000060 0x20 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr25\libgcc.a(_clear_bss.o)
.debug_pubnames
*(.debug_pubnames)
.debug_info 0x00000000 0x80b
*(.debug_info)
.debug_info 0x00000000 0x571 Leuchtklotz.o
.debug_info 0x00000571 0xde e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr25\libgcc.a(_exit.o)
.debug_info 0x0000064f 0xde e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr25\libgcc.a(_copy_data.o)
.debug_info 0x0000072d 0xde e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr25\libgcc.a(_clear_bss.o)
*(.gnu.linkonce.wi.*)
.debug_abbrev 0x00000000 0x198
*(.debug_abbrev)
.debug_abbrev 0x00000000 0x15c Leuchtklotz.o
.debug_abbrev 0x0000015c 0x14 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr25\libgcc.a(_exit.o)
.debug_abbrev 0x00000170 0x14 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr25\libgcc.a(_copy_data.o)
.debug_abbrev 0x00000184 0x14 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr25\libgcc.a(_clear_bss.o)
.debug_line 0x00000000 0x41e
*(.debug_line)
.debug_line 0x00000000 0x277 Leuchtklotz.o
.debug_line 0x00000277 0x88 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr25\libgcc.a(_exit.o)
.debug_line 0x000002ff 0x91 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr25\libgcc.a(_copy_data.o)
.debug_line 0x00000390 0x8e e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr25\libgcc.a(_clear_bss.o)
.debug_frame 0x00000000 0x108
*(.debug_frame)
.debug_frame 0x00000000 0x108 Leuchtklotz.o
.debug_str 0x00000000 0x126
*(.debug_str)
.debug_str 0x00000000 0x126 Leuchtklotz.o
0x15a (size before relaxing)
.debug_loc 0x00000000 0x469
*(.debug_loc)
.debug_loc 0x00000000 0x469 Leuchtklotz.o
.debug_macinfo
*(.debug_macinfo)
OUTPUT(Leuchtklotz.elf elf32-avr)
LOAD linker stubs
.debug_ranges 0x00000000 0x48
.debug_ranges 0x00000000 0x48 Leuchtklotz.o

View File

@ -0,0 +1,59 @@
S01300004C65756368746B6C6F747A2E7372656378
S113000014C02CC02BC02AC029C028C027C026C0B9
S113001025C024C023C022C021C020C01FC01EC0D0
S11300201DC01CC01BC01AC019C011241FBECFEDB7
S1130030CDBF10E0A0E6B0E0EEE8F3E002C005902A
S11300400D92A036B107D9F710E0A0E6B0E001C0E8
S11300501D92A036B107E1F742D197C1D1CF6770A5
S1130060707080FF06C098B3987F98BB98B3962BA6
S113007098BB81FF0DC098B3977C98BB98B39B0144
S1130080220F331F220F331F220F331F292B28BBAC
S113009082FF06C092B3987F92BB92B3962B92BB19
S11300A083FF0CC082B3877C82BB82B3660F771F49
S11300B0660F771F660F771F682B62BB08956F92D8
S11300C07F928F929F92AF92BF92CF92DF92EF92E4
S11300D0FF920F931F93CF93DF938C017B016A01EF
S11300E05901C0E0D0E088249924839466247724BD
S11300F0B401CE15DF050CF0B301CC15DD050CF40D
S11301006260CA15DB050CF46460C801A8DF21969F
S1130110CF3FD10569F7DF91CF911F910F91FF90E8
S1130120EF90DF90CF90BF90AF909F908F907F9093
S11301306F9008952F923F924F925F926F927F92A9
S11301408F929F92AF92BF92CF92DF92EF92FF92E3
S11301500F931F93CF93DF938C016B015A013901E5
S1130160EE24FF24332422242CC0C52DD42DC80111
S1130170B60175DF2196CF3FD105C9F71E141F04C0
S11301804CF4C32DD22DC801B50169DF2196CE15DB
S1130190DF05C9F70894811C911C8614970429F47F
S11301A009C0882499245E2C4F2C8FEFE816F104A3
S11301B0E4F2E4CF0894E11CF11C8FEFE816F1049B
S11301C021F0161417046CF3F5CFDF91CF911F9132
S11301D00F91FF90EF90DF90CF90BF90AF909F90E2
S11301E08F907F906F905F904F903F902F900895E5
S11301F085E090E066E070E032DF8FE798E3A1E00D
S113020081509040A040E1F700C0000085E090E0FC
S113021060E070E024DF8FE794E8AEE18150904025
S1130220A040E1F700C000008FE090E066E070E0DD
S113023016DFAFE4B3EC1197F1F700C000008FE0D4
S113024090E060E070E00BDF8FE79AE1A6E0815078
S11302509040A040E1F700C000008FE090E066E02D
S113026070E0FDDE8FE798E3A1E081509040A0406C
S1130270E1F700C000008FE090E060E070E0EFDEA6
S11302808FE79AE1A6E081509040A040E1F700C0DA
S113029000008FE090E066E070E0E1DE8FEB94ED2B
S11302A0A1E081509040A040E1F700C000008FE041
S11302B090E060E070E0D3DE8FEF98E0ADE3815032
S11302C09040A040E1F700C000008FE090E066E0BD
S11302D070E047E050E024E130E02CDF08958FE344
S11302E087BB81BB85DF8FE090E060E070E0B7DE24
S11302F081E090E063E070E0B2DE8FE79AE1A6E08F
S113030081509040A040E1F700C0000081E090E0FF
S113031060E070E0A4DE82E090E063E070E09FDEE5
S11303208FE79AE1A6E081509040A040E1F700C039
S1130330000082E090E060E070E091DE84E090E014
S113034063E070E08CDE8FE79AE1A6E08150904094
S1130350A040E1F700C0000084E090E060E070E0BD
S11303607EDE88E090E063E070E079DE8FE79AE17A
S1130370A6E081509040A040E1F700C0000088E072
S111038090E060E070E06BDEB3CFF894FFCF46
S9030000FC

View File

@ -0,0 +1,123 @@
################################################################################
# Automatically-generated file. Do not edit!
################################################################################
SHELL := cmd.exe
RM := rm -rf
USER_OBJS :=
LIBS :=
PROJ :=
O_SRCS :=
C_SRCS :=
S_SRCS :=
S_UPPER_SRCS :=
OBJ_SRCS :=
ASM_SRCS :=
PREPROCESSING_SRCS :=
OBJS :=
OBJS_AS_ARGS :=
C_DEPS :=
C_DEPS_AS_ARGS :=
EXECUTABLES :=
OUTPUT_FILE_PATH :=
OUTPUT_FILE_PATH_AS_ARGS :=
AVR_APP_PATH :=$$$AVR_APP_PATH$$$
QUOTE := "
ADDITIONAL_DEPENDENCIES:=
OUTPUT_FILE_DEP:=
# Every subdirectory with source files must be described here
SUBDIRS :=
# Add inputs and outputs from these tool invocations to the build variables
C_SRCS += \
../Leuchtklotz.c
PREPROCESSING_SRCS +=
ASM_SRCS +=
OBJS += \
Leuchtklotz.o
OBJS_AS_ARGS += \
Leuchtklotz.o
C_DEPS += \
Leuchtklotz.d
C_DEPS_AS_ARGS += \
Leuchtklotz.d
OUTPUT_FILE_PATH +=Leuchtklotz.elf
OUTPUT_FILE_PATH_AS_ARGS +=Leuchtklotz.elf
ADDITIONAL_DEPENDENCIES:=
OUTPUT_FILE_DEP:= ./makedep.mk
# AVR32/GNU C Compiler
./%.o: .././%.c
@echo Building file: $<
@echo Invoking: AVR/GNU C Compiler : (AVR_8_bit_GNU_Toolchain_3.4.1_830) 4.6.2
$(QUOTE)E:\Programme\Atmel\Atmel Studio 6.0\extensions\Atmel\AVRGCC\3.4.1.95\AVRToolchain\bin\avr-gcc.exe$(QUOTE) -funsigned-char -funsigned-bitfields -O1 -fpack-struct -fshort-enums -g2 -Wall -c -std=gnu99 -MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -mmcu=attiny2313a -o"$@" "$<"
@echo Finished building: $<
# AVR32/GNU Preprocessing Assembler
# AVR32/GNU Assembler
ifneq ($(MAKECMDGOALS),clean)
ifneq ($(strip $(C_DEPS)),)
-include $(C_DEPS)
endif
endif
# Add inputs and outputs from these tool invocations to the build variables
# All Target
all: $(OUTPUT_FILE_PATH) $(ADDITIONAL_DEPENDENCIES)
$(OUTPUT_FILE_PATH): $(OBJS) $(USER_OBJS) $(OUTPUT_FILE_DEP)
@echo Building target: $@
@echo Invoking: AVR/GNU Linker : (AVR_8_bit_GNU_Toolchain_3.4.1_830) 4.6.2
$(QUOTE)E:\Programme\Atmel\Atmel Studio 6.0\extensions\Atmel\AVRGCC\3.4.1.95\AVRToolchain\bin\avr-gcc.exe$(QUOTE) -o$(OUTPUT_FILE_PATH_AS_ARGS) $(OBJS_AS_ARGS) $(USER_OBJS) $(LIBS) -Wl,-Map="Leuchtklotz.map" -Wl,--start-group -Wl,-lm -Wl,--end-group -mmcu=attiny2313a
@echo Finished building target: $@
"E:\Programme\Atmel\Atmel Studio 6.0\extensions\Atmel\AVRGCC\3.4.1.95\AVRToolchain\bin\avr-objcopy.exe" -O ihex -R .eeprom -R .fuse -R .lock -R .signature "Leuchtklotz.elf" "Leuchtklotz.hex"
"E:\Programme\Atmel\Atmel Studio 6.0\extensions\Atmel\AVRGCC\3.4.1.95\AVRToolchain\bin\avr-objcopy.exe" -j .eeprom --set-section-flags=.eeprom=alloc,load --change-section-lma .eeprom=0 --no-change-warnings -O ihex "Leuchtklotz.elf" "Leuchtklotz.eep" || exit 0
"E:\Programme\Atmel\Atmel Studio 6.0\extensions\Atmel\AVRGCC\3.4.1.95\AVRToolchain\bin\avr-objdump.exe" -h -S "Leuchtklotz.elf" > "Leuchtklotz.lss"
"E:\Programme\Atmel\Atmel Studio 6.0\extensions\Atmel\AVRGCC\3.4.1.95\AVRToolchain\bin\avr-objcopy.exe" -O srec -R .eeprom -R .fuse -R .lock -R .signature "Leuchtklotz.elf" "Leuchtklotz.srec"
"E:\Programme\Atmel\Atmel Studio 6.0\extensions\Atmel\AVRGCC\3.4.1.95\AVRToolchain\bin\avr-size.exe" "Leuchtklotz.elf"
# Other Targets
clean:
-$(RM) $(OBJS_AS_ARGS)$(C_DEPS_AS_ARGS) $(EXECUTABLES)
rm -rf "Leuchtklotz.elf" "Leuchtklotz.a" "Leuchtklotz.hex" "Leuchtklotz.lss" "Leuchtklotz.eep" "Leuchtklotz.map" "Leuchtklotz.srec"

View File

@ -0,0 +1,6 @@
################################################################################
# Automatically-generated file. Do not edit or delete the file
################################################################################
Leuchtklotz.c

View File

@ -0,0 +1,248 @@
/*
* Leuchtklotz.c
*
* Created: 22.03.2013 03:04:25
* Author: netz
*/
#define F_CPU 20000000
#define WART 100000
#define LED1 0b00000001
#define LED2 0b00000010
#define LED3 0b00000100
#define LED4 0b00001000
#define BLACK 0
#define RED 1
#define GREEN 2
#define YELLOW 3
#define BLUE 4
#define MAGENTA 5
#define CYAN 6
#define WHITE 7
#include <avr/io.h>
#include <util/delay.h>
void ledg(int led, int mask) {
int rgb = 0;
rgb |= (mask & (1<<0)) ? (1<<0) : (0<<0);
rgb |= (mask & (1<<1))?(1<<1):(0<<1);
rgb |= (mask & (1<<2))?(1<<2):(0<<2);
if(led & (1<<0)) {
PORTB &= ~((1<<0)|(1<<1)|(1<<2));
PORTB |= rgb;
}
if(led & (1<<1)) {
PORTB &= ~((1<<3)|(1<<4)|(1<<5));
PORTB |= (rgb<<3);
}
if(led & (1<<2)) {
PORTD &= ~((1<<0)|(1<<1)|(1<<2));
PORTD |= rgb;
}
if(led & (1<<3)) {
PORTD &= ~((1<<3)|(1<<4)|(1<<5));
PORTD |= (rgb<<3);
}
}
void rgbl(int led, int red, int green, int blue) {
for (int i=0;i<0xFF;i++)
{
int rgb = 0;
if(i<red) {
rgb |= RED;
}
if(i<green) {
rgb |= GREEN;
}
if(i<blue) {
rgb |= BLUE;
}
ledg(led,rgb);
}
}
void fade(int led, int from, int to, int dur) {
for (int i=0;i<0xFF;i++)
{
for(int k=0;k<dur;k++) {
for (int j=i;j<0xFF;j++)
{
ledg(led,from);
}
for (int j=0;j<i;j++)
{
ledg(led,to);
}
}
}
}
void initleds() {
ledg(LED1 | LED3, CYAN);
_delay_ms(20);
ledg(LED1 | LED3, BLACK);
_delay_ms(500);
ledg(LED1 | LED2 | LED3 | LED4, CYAN);
_delay_ms(10);
ledg(LED1 | LED2 | LED3 | LED4, BLACK);
_delay_ms(100);
ledg(LED1 | LED2 | LED3 | LED4, CYAN);
_delay_ms(20);
ledg(LED1 | LED2 | LED3 | LED4, BLACK);
_delay_ms(100);
ledg(LED1 | LED2 | LED3 | LED4, CYAN);
_delay_ms(30);
ledg(LED1 | LED2 | LED3 | LED4, BLACK);
_delay_ms(1000);
fade(LED1 | LED2 | LED3 | LED4, CYAN, WHITE, 20);
}
int main(void)
{
DDRB = 0b00111111;
DDRD = 0b00111111;
initleds();
while(1)
{
/*fade(LED1 | LED2 | LED3 | LED4, WHITE, RED, 10);
while(1) {
fade(LED1 | LED2 | LED3 | LED4, RED, YELLOW, 120);
fade(LED1 | LED2 | LED3 | LED4, YELLOW, GREEN, 120);
fade(LED1 | LED2 | LED3 | LED4, GREEN, CYAN, 120);
fade(LED1 | LED2 | LED3 | LED4, CYAN, BLUE, 120);
fade(LED1 | LED2 | LED3 | LED4, BLUE, MAGENTA, 120);
fade(LED1 | LED2 | LED3 | LED4, MAGENTA, RED, 120);
}*/
ledg(LED1 | LED2 | LED3 | LED4, BLACK);
while(1) {
ledg(LED1,YELLOW);
_delay_ms(100);
ledg(LED1,BLACK);
ledg(LED2,YELLOW);
_delay_ms(100);
ledg(LED2,BLACK);
ledg(LED3,YELLOW);
_delay_ms(100);
ledg(LED3,BLACK);
ledg(LED4,YELLOW);
_delay_ms(100);
ledg(LED4,BLACK);
}
/*while(1) {
for (int i=0;i<80;i++)
{
rgbl(LED4, 0, 50, 200);
}
for (int i=0;i<80;i++)
{
rgbl(LED4, 0, 0, 0);
}
for (int i=0;i<80;i++)
{
rgbl(LED4, 0, 50, 200);
}
for (int i=0;i<80;i++)
{
rgbl(LED4, 0, 0, 0);
}
for (int i=0;i<80;i++)
{
rgbl(LED4, 0, 50, 200);
}
for (int i=0;i<80;i++)
{
rgbl(LED4, 0, 0, 0);
}
for (int i=0;i<80;i++)
{
rgbl(LED2, 200, 10, 0);
}
for (int i=0;i<80;i++)
{
rgbl(LED2, 0, 0, 0);
}
for (int i=0;i<80;i++)
{
rgbl(LED2, 200, 10, 0);
}
for (int i=0;i<80;i++)
{
rgbl(LED2, 0, 0, 0);
}
for (int i=0;i<80;i++)
{
rgbl(LED2, 200, 10, 0);
}
for (int i=0;i<80;i++)
{
rgbl(LED2, 0, 0, 0);
}
}*/
/*ledg(1,1);
_delay_us(WART);
ledg(1,2);
_delay_us(WART);
ledg(1,3);
_delay_us(WART);
ledg(1,4);
_delay_us(WART);
ledg(1,5);
_delay_us(WART);
ledg(1,6);
_delay_us(WART);
ledg(1,7);
_delay_us(WART);*/
/*PORTB = 0b00001001;
PORTD = 0b00001001;
_delay_us(WART);
PORTB = 0b00010010;
PORTD = 0b00010010;
_delay_us(WART);
PORTB = 0b00100100;
PORTD = 0b00100100;
_delay_us(WART);*/
/*PORTB = 0b00010001;
PORTD = 0b00111100;
_delay_us(WART);
PORTB = 0b00001111;
PORTD = 0b00100010;
_delay_us(WART);
PORTB = 0b00111100;
PORTD = 0b00010001;
_delay_us(WART);
PORTB = 0b00100010;
PORTD = 0b00001111;
_delay_us(WART);*/
/*PORTB = 0b00000001;
_delay_us(WART);
PORTB = 0b00000010;
_delay_us(WART);
PORTB = 0b00000100;
_delay_us(WART);
PORTB = 0b00001000;
_delay_us(WART);
PORTB = 0b00010000;
_delay_us(WART);
PORTB = 0b00100000;
_delay_us(WART);
PORTB = 0b00000000;
PORTD = 0b00000001;
_delay_us(WART);
PORTD = 0b00000010;
_delay_us(WART);
PORTD = 0b00000100;
_delay_us(WART);
PORTD = 0b00001000;
_delay_us(WART);
PORTD = 0b00010000;
_delay_us(WART);
PORTD = 0b00100000;
_delay_us(WART);
PORTD = 0b00000000;*/
}
}

View File

@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<SchemaVersion>2.0</SchemaVersion>
<ProjectVersion>6.0</ProjectVersion>
<ToolchainName>com.Atmel.AVRGCC8</ToolchainName>
<ProjectGuid>{32847ec0-451a-4380-b515-f7d3c3505568}</ProjectGuid>
<avrdevice>ATtiny2313A</avrdevice>
<avrdeviceseries>none</avrdeviceseries>
<OutputType>Executable</OutputType>
<Language>C</Language>
<OutputFileName>$(MSBuildProjectName)</OutputFileName>
<OutputFileExtension>.elf</OutputFileExtension>
<OutputDirectory>$(MSBuildProjectDirectory)\$(Configuration)</OutputDirectory>
<AssemblyName>Leuchtklotz</AssemblyName>
<Name>Leuchtklotz</Name>
<RootNamespace>Leuchtklotz</RootNamespace>
<ToolchainFlavour>Native</ToolchainFlavour>
<KeepTimersRunning>true</KeepTimersRunning>
<OverrideVtor>false</OverrideVtor>
<OverrideVtorValue />
<eraseonlaunchrule>0</eraseonlaunchrule>
<AsfVersion>2.11.1</AsfVersion>
<avrtoolinterface>ISP</avrtoolinterface>
<avrtool>com.atmel.avrdbg.tool.ispmk2</avrtool>
<com_atmel_avrdbg_tool_simulator>
<ToolType>com.atmel.avrdbg.tool.simulator</ToolType>
<ToolName>AVR Simulator</ToolName>
<ToolNumber>
</ToolNumber>
<KeepTimersRunning>true</KeepTimersRunning>
<OverrideVtor>false</OverrideVtor>
<OverrideVtorValue>
</OverrideVtorValue>
<Channel>
<host>127.0.0.1</host>
<port>50150</port>
<ssl>False</ssl>
</Channel>
</com_atmel_avrdbg_tool_simulator>
<com_atmel_avrdbg_tool_ispmk2>
<ToolType>com.atmel.avrdbg.tool.ispmk2</ToolType>
<ToolName>AVRISP mkII</ToolName>
<ToolNumber>0000000000000</ToolNumber>
<KeepTimersRunning>true</KeepTimersRunning>
<OverrideVtor>false</OverrideVtor>
<OverrideVtorValue>
</OverrideVtorValue>
<Channel>
<host>127.0.0.1</host>
<port>51623</port>
<ssl>False</ssl>
</Channel>
<ToolOptions>
<InterfaceName>ISP</InterfaceName>
<InterfaceProperties>
<JtagDbgClock>249000</JtagDbgClock>
<JtagProgClock>1000000</JtagProgClock>
<IspClock>250000</IspClock>
<JtagInChain>false</JtagInChain>
<JtagEnableExtResetOnStartSession>false</JtagEnableExtResetOnStartSession>
<JtagDevicesBefore>0</JtagDevicesBefore>
<JtagDevicesAfter>0</JtagDevicesAfter>
<JtagInstrBitsBefore>0</JtagInstrBitsBefore>
<JtagInstrBitsAfter>0</JtagInstrBitsAfter>
</InterfaceProperties>
</ToolOptions>
</com_atmel_avrdbg_tool_ispmk2>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
<ToolchainSettings>
<AvrGcc>
<avrgcc.common.outputfiles.hex>True</avrgcc.common.outputfiles.hex>
<avrgcc.common.outputfiles.lss>True</avrgcc.common.outputfiles.lss>
<avrgcc.common.outputfiles.eep>True</avrgcc.common.outputfiles.eep>
<avrgcc.common.outputfiles.srec>True</avrgcc.common.outputfiles.srec>
<avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned>True</avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned>
<avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned>True</avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned>
<avrgcc.compiler.optimization.level>Optimize for size (-Os)</avrgcc.compiler.optimization.level>
<avrgcc.compiler.optimization.PackStructureMembers>True</avrgcc.compiler.optimization.PackStructureMembers>
<avrgcc.compiler.optimization.AllocateBytesNeededForEnum>True</avrgcc.compiler.optimization.AllocateBytesNeededForEnum>
<avrgcc.compiler.warnings.AllWarnings>True</avrgcc.compiler.warnings.AllWarnings>
<avrgcc.linker.libraries.Libraries>
<ListValues>
<Value>m</Value>
</ListValues>
</avrgcc.linker.libraries.Libraries>
</AvrGcc>
</ToolchainSettings>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
<ToolchainSettings>
<AvrGcc>
<avrgcc.common.outputfiles.hex>True</avrgcc.common.outputfiles.hex>
<avrgcc.common.outputfiles.lss>True</avrgcc.common.outputfiles.lss>
<avrgcc.common.outputfiles.eep>True</avrgcc.common.outputfiles.eep>
<avrgcc.common.outputfiles.srec>True</avrgcc.common.outputfiles.srec>
<avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned>True</avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned>
<avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned>True</avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned>
<avrgcc.compiler.optimization.level>Optimize (-O1)</avrgcc.compiler.optimization.level>
<avrgcc.compiler.optimization.PackStructureMembers>True</avrgcc.compiler.optimization.PackStructureMembers>
<avrgcc.compiler.optimization.AllocateBytesNeededForEnum>True</avrgcc.compiler.optimization.AllocateBytesNeededForEnum>
<avrgcc.compiler.optimization.DebugLevel>Default (-g2)</avrgcc.compiler.optimization.DebugLevel>
<avrgcc.compiler.warnings.AllWarnings>True</avrgcc.compiler.warnings.AllWarnings>
<avrgcc.linker.libraries.Libraries>
<ListValues>
<Value>m</Value>
</ListValues>
</avrgcc.linker.libraries.Libraries>
<avrgcc.assembler.debugging.DebugLevel>Default (-Wa,-g)</avrgcc.assembler.debugging.DebugLevel>
</AvrGcc>
</ToolchainSettings>
</PropertyGroup>
<ItemGroup>
<Compile Include="Leuchtklotz.c">
<SubType>compile</SubType>
</Compile>
</ItemGroup>
<Import Project="$(AVRSTUDIO_EXE_PATH)\\Vs\\Compiler.targets" />
</Project>