20131213-093359

This commit is contained in:
BlubbFish 2013-12-13 08:34:02 +00:00
parent 11933f0506
commit 1ad669004c
7 changed files with 302 additions and 407 deletions

Binary file not shown.

View File

@ -1,46 +1,41 @@
:1000000013C035C034C033C032C031C041C086C017
:100010002EC02DC02CC02BC02AC029C028C027C08C
:1000200026C025C024C00F0111241FBECFEDCDBFB7
:1000300010E0A0E6B0E0ECE8F2E002C005900D921E
:10004000A439B107D9F720E0A4E9B0E001C01D92BE
:10005000A83BB207E1F710E0C8E2D0E003C0229766
:10006000FE010ED1C632D107D1F702D00DC1C8CFE3
:1000700078948091A7009091A6009093940080932B
:1000800095008FE493EC0197F1F700C00000F1CFE9
:1000200026C025C024C0F40011241FBECFEDCDBFD3
:1000300010E0A0E6B0E0E8E5F2E002C005900D9225
:10004000AE37B107D9F720E0AEE7B0E001C01D92AE
:10005000A23AB207E1F710E0C8E2D0E003C022976D
:10006000FE01F4D0C632D107D1F702D0F3C0C8CF19
:100070007894809191009091900090937E0080936D
:100080007F008FE493EC0197F1F700C00000F1CFFF
:100090001F920F920FB60F9211242F933F934F93FD
:1000A0005F936F938F939F93EF93FF93809195004E
:1000B000882399F080E0E0919400F0E0EC56FF4F47
:1000A0005F936F938F939F93EF93FF9380917F0064
:1000B000882399F080E0E0917E00F0E0E258FF4F65
:1000C000928198BB96E09A95F1F700C08F5F90916E
:1000D0009500891780F39F3F99F060E04FEF50E063
:1000D0007F00891780F39F3F99F060E04FEF50E079
:1000E00018BAE6E0EA95F1F700C06F5F262F30E01E
:1000F00080919500FA01E81BF1092E173F0784F360
:1000F00080917F00FA01E81BF1092E173F0784F376
:10010000FF91EF919F918F916F915F914F913F91EF
:100110002F910F900FBE0F901F9018951F920F9266
:100120000FB60F9211242F933F934F938F939F936A
:10013000EF93FF938CB18A3039F08D3029F0909194
:10014000A8009F3008F43FC08091A900843709F4CB
:1001500060C08091A900843609F441C0EAE7F0E06C
:1001600087E55D9BFECF8CB981918111FACF80919B
:10017000A600805D5D9BFECF8CB9E1E7F0E080E2F8
:100180005D9BFECF8CB981918111FACF8091A70040
:10019000805D5D9BFECF8CB9E2E9F0E08DE05D9B78
:1001A000FECF8CB981918111FACF1092A800FF91F6
:1001B000EF919F918F914F913F912F910F900FBE93
:1001C0000F901F901895E091A800F0E0EA55FF4FBE
:1001D00083838091A8008F5F8093A800E8CF30913F
:1001E000AA004091AB008091AC00805D232F220FCC
:1001F000230F922F9295990F907E920F930F890F54
:10020000942F990F990F940F990F890F8093A7003E
:10021000A5CF8091AB0080538093A6009ACF109217
:10022000A6001092A7001092A800789486E083B9E7
:1002300088E98AB912B881E889B9E8E8F0E085E58B
:100240005D9BFECF8CB981918111FACF1092940001
:100250001092950080E1E0E6F0E0A6E9B0E00190C0
:100260000D928A95E1F78FE787BB10BE83E083BFCD
:1002700012BE16BE1CBE82E089BF0895EE0FFF1F9E
:0C0280000590F491E02D0994F894FFCF54
:10028C007B036E4F175D7D0B7F5F3F7578677C3C02
:10029C00204C696768743A200057657274653A207F
:1002AC0054696D653A20005561727420646F6E65F7
:0402BC00210D0A0006
:10013000EF93FF938CB18A30A9F08D3099F09091B4
:1001400092009F3078F4E0919200F0E0E057FF4F8A
:100150008383909192009F5F909392005D9BFECF6E
:100160008CB913C0EBE7F0E08DE05D9BFECF8CB95E
:1001700081918111FACF80919300843791F0809121
:1001800093008436B9F010929200FF91EF919F9105
:100190008F914F913F912F910F900FBE0F901F9015
:1001A00018958091940080538093900080919300E3
:1001B000843649F7309194004091950080919600E3
:1001C000805D232F220F230F922F9295990F907EFF
:1001D000920F930F890F942F990F990F940F990FE6
:1001E000890F80939100CFCF1092900082E380938B
:1001F000910010929200789486E083B988E98AB9D8
:1002000012B881E889B9E1E7F0E085E55D9BFECFB2
:100210008CB981918111FACF10927E0010927F00EB
:1002200080E1E0E6F0E0A0E8B0E001900D928A9570
:10023000E1F78FE787BB10BE83E083BF12BE16BE17
:100240001CBE82E089BF0895EE0FFF1F0590F49158
:08025000E02D0994F894FFCFA2
:100258007B036E4F175D7D0B7F5F3F7578677C3C36
:0E0268005561727420646F6E65210D0A0000EE
:00000001FF

View File

@ -3,33 +3,33 @@ Zahl.elf: file format elf32-avr
Sections:
Idx Name Size VMA LMA File off Algn
0 .text 0000028c 00000000 00000000 00000094 2**1
0 .text 00000258 00000000 00000000 00000094 2**1
CONTENTS, ALLOC, LOAD, READONLY, CODE
1 .data 00000034 00800060 0000028c 00000320 2**0
1 .data 0000001e 00800060 00000258 000002ec 2**0
CONTENTS, ALLOC, LOAD, DATA
2 .bss 00000024 00800094 00800094 00000354 2**0
2 .bss 00000024 0080007e 0080007e 0000030a 2**0
ALLOC
3 .stab 000006b4 00000000 00000000 00000354 2**2
3 .stab 000006b4 00000000 00000000 0000030c 2**2
CONTENTS, READONLY, DEBUGGING
4 .stabstr 00000082 00000000 00000000 00000a08 2**0
4 .stabstr 00000082 00000000 00000000 000009c0 2**0
CONTENTS, READONLY, DEBUGGING
5 .comment 0000002f 00000000 00000000 00000a8a 2**0
5 .comment 0000002f 00000000 00000000 00000a42 2**0
CONTENTS, READONLY
6 .debug_aranges 00000038 00000000 00000000 00000ab9 2**0
6 .debug_aranges 00000038 00000000 00000000 00000a71 2**0
CONTENTS, READONLY, DEBUGGING
7 .debug_info 00000bac 00000000 00000000 00000af1 2**0
7 .debug_info 00000ac4 00000000 00000000 00000aa9 2**0
CONTENTS, READONLY, DEBUGGING
8 .debug_abbrev 00000369 00000000 00000000 0000169d 2**0
8 .debug_abbrev 00000369 00000000 00000000 0000156d 2**0
CONTENTS, READONLY, DEBUGGING
9 .debug_line 00000285 00000000 00000000 00001a06 2**0
9 .debug_line 0000026b 00000000 00000000 000018d6 2**0
CONTENTS, READONLY, DEBUGGING
10 .debug_frame 000000bc 00000000 00000000 00001c8c 2**2
10 .debug_frame 000000bc 00000000 00000000 00001b44 2**2
CONTENTS, READONLY, DEBUGGING
11 .debug_str 00000498 00000000 00000000 00001d48 2**0
11 .debug_str 00000498 00000000 00000000 00001c00 2**0
CONTENTS, READONLY, DEBUGGING
12 .debug_loc 000002b1 00000000 00000000 000021e0 2**0
12 .debug_loc 0000026f 00000000 00000000 00002098 2**0
CONTENTS, READONLY, DEBUGGING
13 .debug_ranges 00000098 00000000 00000000 00002491 2**0
13 .debug_ranges 00000098 00000000 00000000 00002307 2**0
CONTENTS, READONLY, DEBUGGING
Disassembly of section .text:
@ -56,7 +56,7 @@ Disassembly of section .text:
24: 24 c0 rjmp .+72 ; 0x6e <__bad_interrupt>
00000026 <__ctors_start>:
26: 0f 01 movw r0, r30
26: f4 00 .word 0x00f4 ; ????
00000028 <__ctors_end>:
28: 11 24 eor r1, r1
@ -68,18 +68,18 @@ Disassembly of section .text:
30: 10 e0 ldi r17, 0x00 ; 0
32: a0 e6 ldi r26, 0x60 ; 96
34: b0 e0 ldi r27, 0x00 ; 0
36: ec e8 ldi r30, 0x8C ; 140
36: e8 e5 ldi r30, 0x58 ; 88
38: f2 e0 ldi r31, 0x02 ; 2
3a: 02 c0 rjmp .+4 ; 0x40 <__SREG__+0x1>
3c: 05 90 lpm r0, Z+
3e: 0d 92 st X+, r0
40: a4 39 cpi r26, 0x94 ; 148
40: ae 37 cpi r26, 0x7E ; 126
42: b1 07 cpc r27, r17
44: d9 f7 brne .-10 ; 0x3c <__do_copy_data+0xc>
00000046 <__do_clear_bss>:
46: 20 e0 ldi r18, 0x00 ; 0
48: a4 e9 ldi r26, 0x94 ; 148
48: ae e7 ldi r26, 0x7E ; 126
4a: b0 e0 ldi r27, 0x00 ; 0
4c: 01 c0 rjmp .+2 ; 0x50 <.do_clear_bss_start>
@ -87,7 +87,7 @@ Disassembly of section .text:
4e: 1d 92 st X+, r1
00000050 <.do_clear_bss_start>:
50: a8 3b cpi r26, 0xB8 ; 184
50: a2 3a cpi r26, 0xA2 ; 162
52: b2 07 cpc r27, r18
54: e1 f7 brne .-8 ; 0x4e <.do_clear_bss_loop>
@ -98,12 +98,12 @@ Disassembly of section .text:
5c: 03 c0 rjmp .+6 ; 0x64 <__do_global_ctors+0xe>
5e: 22 97 sbiw r28, 0x02 ; 2
60: fe 01 movw r30, r28
62: 0e d1 rcall .+540 ; 0x280 <__tablejump__>
62: f4 d0 rcall .+488 ; 0x24c <__tablejump__>
64: c6 32 cpi r28, 0x26 ; 38
66: d1 07 cpc r29, r17
68: d1 f7 brne .-12 ; 0x5e <__do_global_ctors+0x8>
6a: 02 d0 rcall .+4 ; 0x70 <main>
6c: 0d c1 rjmp .+538 ; 0x288 <_exit>
6c: f3 c0 rjmp .+486 ; 0x254 <_exit>
0000006e <__bad_interrupt>:
6e: c8 cf rjmp .-112 ; 0x0 <__vectors>
@ -122,19 +122,19 @@ int main(void)
}
uint8_t getDim() {
return dimmer;
72: 80 91 a7 00 lds r24, 0x00A7
72: 80 91 91 00 lds r24, 0x0091
public:
Led() {
init();
}
void setNum(uint8_t number) {
this->diget = number;
76: 90 91 a6 00 lds r25, 0x00A6
7a: 90 93 94 00 sts 0x0094, r25
76: 90 91 90 00 lds r25, 0x0090
7a: 90 93 7e 00 sts 0x007E, r25
}
void setDim(uint8_t dimmer) {
this->dim = dimmer;
7e: 80 93 95 00 sts 0x0095, r24
7e: 80 93 7f 00 sts 0x007F, r24
#else
//round up by default
__ticks_dc = (uint32_t)(ceil(fabs(__tmp)));
@ -176,14 +176,14 @@ ISR(TIMER0_OVF_vect) {
/* TIMER0_OVF_vect */
void timer() {
for(uint8_t k=0;k<this->dim;k++) {
ac: 80 91 95 00 lds r24, 0x0095
ac: 80 91 7f 00 lds r24, 0x007F
b0: 88 23 and r24, r24
b2: 99 f0 breq .+38 ; 0xda <__vector_6+0x4a>
b4: 80 e0 ldi r24, 0x00 ; 0
Port::port(segs[this->diget]);
b6: e0 91 94 00 lds r30, 0x0094
b6: e0 91 7e 00 lds r30, 0x007E
ba: f0 e0 ldi r31, 0x00 ; 0
bc: ec 56 subi r30, 0x6C ; 108
bc: e2 58 subi r30, 0x82 ; 130
be: ff 4f sbci r31, 0xFF ; 255
c0: 92 81 ldd r25, Z+2 ; 0x02
namespace avrlib {
@ -210,7 +210,7 @@ namespace avrlib {
void timer() {
for(uint8_t k=0;k<this->dim;k++) {
cc: 8f 5f subi r24, 0xFF ; 255
ce: 90 91 95 00 lds r25, 0x0095
ce: 90 91 7f 00 lds r25, 0x007F
d2: 89 17 cp r24, r25
d4: 80 f3 brcs .-32 ; 0xb6 <__vector_6+0x26>
Port::port(segs[this->diget]);
@ -240,7 +240,7 @@ namespace avrlib {
ea: 6f 5f subi r22, 0xFF ; 255
ec: 26 2f mov r18, r22
ee: 30 e0 ldi r19, 0x00 ; 0
f0: 80 91 95 00 lds r24, 0x0095
f0: 80 91 7f 00 lds r24, 0x007F
f4: fa 01 movw r30, r20
f6: e8 1b sub r30, r24
f8: f1 09 sbc r31, r1
@ -289,341 +289,245 @@ ISR(USART_RX_vect) {
if( nextChar != '\n' && nextChar != '\r' && uart_str_count < UART_MAXSTRLEN) {
136: 8a 30 cpi r24, 0x0A ; 10
138: 39 f0 breq .+14 ; 0x148 <__vector_7+0x2c>
138: a9 f0 breq .+42 ; 0x164 <__vector_7+0x48>
13a: 8d 30 cpi r24, 0x0D ; 13
13c: 29 f0 breq .+10 ; 0x148 <__vector_7+0x2c>
13e: 90 91 a8 00 lds r25, 0x00A8
13c: 99 f0 breq .+38 ; 0x164 <__vector_7+0x48>
13e: 90 91 92 00 lds r25, 0x0092
142: 9f 30 cpi r25, 0x0F ; 15
144: 08 f4 brcc .+2 ; 0x148 <__vector_7+0x2c>
146: 3f c0 rjmp .+126 ; 0x1c6 <__vector_7+0xaa>
144: 78 f4 brcc .+30 ; 0x164 <__vector_7+0x48>
uart_string[uart_str_count] = nextChar;
146: e0 91 92 00 lds r30, 0x0092
14a: f0 e0 ldi r31, 0x00 ; 0
14c: e0 57 subi r30, 0x70 ; 112
14e: ff 4f sbci r31, 0xFF ; 255
150: 83 83 std Z+3, r24 ; 0x03
uart_str_count++;
152: 90 91 92 00 lds r25, 0x0092
156: 9f 5f subi r25, 0xFF ; 255
158: 90 93 92 00 sts 0x0092, r25
UCSRB = (1<<RXEN) | (1<<RXCIE) /* Recieve & Interrupt */ | (1<<TXEN) /* Send */; //Enable TXEN im Register UCR TX-Data Enable
UBRRH = (uint8_t)(((F_CPU / 16 / baudrate) - 1)>>8);
UBRRL = (uint8_t)(F_CPU / 16 / baudrate) - 1;
}
uint8_t uart_putchar(uint8_t c) {
loop_until_bit_is_set(UCSRA, UDRE); /* Data Register Empty */
15c: 5d 9b sbis 0x0b, 5 ; 11
15e: fe cf rjmp .-4 ; 0x15c <__vector_7+0x40>
UDR = c;
160: 8c b9 out 0x0c, r24 ; 12
162: 13 c0 rjmp .+38 ; 0x18a <__vector_7+0x6e>
164: eb e7 ldi r30, 0x7B ; 123
166: f0 e0 ldi r31, 0x00 ; 0
168: 8d e0 ldi r24, 0x0D ; 13
UCSRB = (1<<RXEN) | (1<<RXCIE) /* Recieve & Interrupt */ | (1<<TXEN) /* Send */; //Enable TXEN im Register UCR TX-Data Enable
UBRRH = (uint8_t)(((F_CPU / 16 / baudrate) - 1)>>8);
UBRRL = (uint8_t)(F_CPU / 16 / baudrate) - 1;
}
uint8_t uart_putchar(uint8_t c) {
loop_until_bit_is_set(UCSRA, UDRE); /* Data Register Empty */
16a: 5d 9b sbis 0x0b, 5 ; 11
16c: fe cf rjmp .-4 ; 0x16a <__vector_7+0x4e>
UDR = c;
16e: 8c b9 out 0x0c, r24 ; 12
sei();
init();
send("Uart done!\r\n");
}
void send(const char *text) {
while (*text)
170: 81 91 ld r24, Z+
172: 81 11 cpse r24, r1
174: fa cf rjmp .-12 ; 0x16a <__vector_7+0x4e>
uart_string[uart_str_count] = nextChar;
uart_str_count++;
//send(nextChar);
send(nextChar);
} else {
//send("\r\n");
if(uart_string[0] == 't') {
148: 80 91 a9 00 lds r24, 0x00A9
14c: 84 37 cpi r24, 0x74 ; 116
14e: 09 f4 brne .+2 ; 0x152 <__vector_7+0x36>
150: 60 c0 rjmp .+192 ; 0x212 <__vector_7+0xf6>
number = uart_string[diget]-0x30;
}
if(uart_string[0] == 'd') {
152: 80 91 a9 00 lds r24, 0x00A9
156: 84 36 cpi r24, 0x64 ; 100
158: 09 f4 brne .+2 ; 0x15c <__vector_7+0x40>
15a: 41 c0 rjmp .+130 ; 0x1de <__vector_7+0xc2>
15c: ea e7 ldi r30, 0x7A ; 122
15e: f0 e0 ldi r31, 0x00 ; 0
sei();
init();
send("Uart done!\r\n");
}
void send(const char *text) {
while (*text)
160: 87 e5 ldi r24, 0x57 ; 87
UCSRB = (1<<RXEN) | (1<<RXCIE) /* Recieve & Interrupt */ | (1<<TXEN) /* Send */; //Enable TXEN im Register UCR TX-Data Enable
UBRRH = (uint8_t)(((F_CPU / 16 / baudrate) - 1)>>8);
UBRRL = (uint8_t)(F_CPU / 16 / baudrate) - 1;
}
uint8_t uart_putchar(uint8_t c) {
loop_until_bit_is_set(UCSRA, UDRE); /* Data Register Empty */
162: 5d 9b sbis 0x0b, 5 ; 11
164: fe cf rjmp .-4 ; 0x162 <__vector_7+0x46>
UDR = c;
166: 8c b9 out 0x0c, r24 ; 12
sei();
init();
send("Uart done!\r\n");
}
void send(const char *text) {
while (*text)
168: 81 91 ld r24, Z+
16a: 81 11 cpse r24, r1
16c: fa cf rjmp .-12 ; 0x162 <__vector_7+0x46>
}
if(uart_string[0] == 'd') {
dimmer = (uart_string[1]-0x30)*100 + (uart_string[2]-0x30)*10 + (uart_string[3]-0x30)*1;
}
send("Werte: Time: ");
send(number+0x30);
16e: 80 91 a6 00 lds r24, 0x00A6
172: 80 5d subi r24, 0xD0 ; 208
UCSRB = (1<<RXEN) | (1<<RXCIE) /* Recieve & Interrupt */ | (1<<TXEN) /* Send */; //Enable TXEN im Register UCR TX-Data Enable
UBRRH = (uint8_t)(((F_CPU / 16 / baudrate) - 1)>>8);
UBRRL = (uint8_t)(F_CPU / 16 / baudrate) - 1;
}
uint8_t uart_putchar(uint8_t c) {
loop_until_bit_is_set(UCSRA, UDRE); /* Data Register Empty */
174: 5d 9b sbis 0x0b, 5 ; 11
176: fe cf rjmp .-4 ; 0x174 <__vector_7+0x58>
UDR = c;
178: 8c b9 out 0x0c, r24 ; 12
17a: e1 e7 ldi r30, 0x71 ; 113
17c: f0 e0 ldi r31, 0x00 ; 0
sei();
init();
send("Uart done!\r\n");
}
void send(const char *text) {
while (*text)
17e: 80 e2 ldi r24, 0x20 ; 32
UCSRB = (1<<RXEN) | (1<<RXCIE) /* Recieve & Interrupt */ | (1<<TXEN) /* Send */; //Enable TXEN im Register UCR TX-Data Enable
UBRRH = (uint8_t)(((F_CPU / 16 / baudrate) - 1)>>8);
UBRRL = (uint8_t)(F_CPU / 16 / baudrate) - 1;
}
uint8_t uart_putchar(uint8_t c) {
loop_until_bit_is_set(UCSRA, UDRE); /* Data Register Empty */
180: 5d 9b sbis 0x0b, 5 ; 11
182: fe cf rjmp .-4 ; 0x180 <__vector_7+0x64>
UDR = c;
184: 8c b9 out 0x0c, r24 ; 12
sei();
init();
send("Uart done!\r\n");
}
void send(const char *text) {
while (*text)
186: 81 91 ld r24, Z+
188: 81 11 cpse r24, r1
18a: fa cf rjmp .-12 ; 0x180 <__vector_7+0x64>
dimmer = (uart_string[1]-0x30)*100 + (uart_string[2]-0x30)*10 + (uart_string[3]-0x30)*1;
}
send("Werte: Time: ");
send(number+0x30);
send(" Light: ");
send(dimmer+0x30);
18c: 80 91 a7 00 lds r24, 0x00A7
190: 80 5d subi r24, 0xD0 ; 208
UCSRB = (1<<RXEN) | (1<<RXCIE) /* Recieve & Interrupt */ | (1<<TXEN) /* Send */; //Enable TXEN im Register UCR TX-Data Enable
UBRRH = (uint8_t)(((F_CPU / 16 / baudrate) - 1)>>8);
UBRRL = (uint8_t)(F_CPU / 16 / baudrate) - 1;
}
uint8_t uart_putchar(uint8_t c) {
loop_until_bit_is_set(UCSRA, UDRE); /* Data Register Empty */
192: 5d 9b sbis 0x0b, 5 ; 11
194: fe cf rjmp .-4 ; 0x192 <__vector_7+0x76>
UDR = c;
196: 8c b9 out 0x0c, r24 ; 12
198: e2 e9 ldi r30, 0x92 ; 146
19a: f0 e0 ldi r31, 0x00 ; 0
sei();
init();
send("Uart done!\r\n");
}
void send(const char *text) {
while (*text)
19c: 8d e0 ldi r24, 0x0D ; 13
UCSRB = (1<<RXEN) | (1<<RXCIE) /* Recieve & Interrupt */ | (1<<TXEN) /* Send */; //Enable TXEN im Register UCR TX-Data Enable
UBRRH = (uint8_t)(((F_CPU / 16 / baudrate) - 1)>>8);
UBRRL = (uint8_t)(F_CPU / 16 / baudrate) - 1;
}
uint8_t uart_putchar(uint8_t c) {
loop_until_bit_is_set(UCSRA, UDRE); /* Data Register Empty */
19e: 5d 9b sbis 0x0b, 5 ; 11
1a0: fe cf rjmp .-4 ; 0x19e <__vector_7+0x82>
UDR = c;
1a2: 8c b9 out 0x0c, r24 ; 12
sei();
init();
send("Uart done!\r\n");
}
void send(const char *text) {
while (*text)
1a4: 81 91 ld r24, Z+
1a6: 81 11 cpse r24, r1
1a8: fa cf rjmp .-12 ; 0x19e <__vector_7+0x82>
send("Werte: Time: ");
send(number+0x30);
send(" Light: ");
send(dimmer+0x30);
send("\r\n");
uart_str_count = 0;
1aa: 10 92 a8 00 sts 0x00A8, r1
u.interrupt();
1ae: ff 91 pop r31
1b0: ef 91 pop r30
1b2: 9f 91 pop r25
1b4: 8f 91 pop r24
1b6: 4f 91 pop r20
1b8: 3f 91 pop r19
1ba: 2f 91 pop r18
1bc: 0f 90 pop r0
1be: 0f be out 0x3f, r0 ; 63
1c0: 0f 90 pop r0
1c2: 1f 90 pop r1
1c4: 18 95 reti
void interrupt() {
char nextChar;
nextChar = UDR;
if( nextChar != '\n' && nextChar != '\r' && uart_str_count < UART_MAXSTRLEN) {
uart_string[uart_str_count] = nextChar;
1c6: e0 91 a8 00 lds r30, 0x00A8
1ca: f0 e0 ldi r31, 0x00 ; 0
1cc: ea 55 subi r30, 0x5A ; 90
1ce: ff 4f sbci r31, 0xFF ; 255
1d0: 83 83 std Z+3, r24 ; 0x03
uart_str_count++;
1d2: 80 91 a8 00 lds r24, 0x00A8
1d6: 8f 5f subi r24, 0xFF ; 255
1d8: 80 93 a8 00 sts 0x00A8, r24
1dc: e8 cf rjmp .-48 ; 0x1ae <__vector_7+0x92>
//send("\r\n");
if(uart_string[0] == 't') {
176: 80 91 93 00 lds r24, 0x0093
17a: 84 37 cpi r24, 0x74 ; 116
17c: 91 f0 breq .+36 ; 0x1a2 <__vector_7+0x86>
number = uart_string[diget]-0x30;
}
if(uart_string[0] == 'd') {
dimmer = (uart_string[1]-0x30)*100 + (uart_string[2]-0x30)*10 + (uart_string[3]-0x30)*1;
1de: 30 91 aa 00 lds r19, 0x00AA
1e2: 40 91 ab 00 lds r20, 0x00AB
1e6: 80 91 ac 00 lds r24, 0x00AC
1ea: 80 5d subi r24, 0xD0 ; 208
1ec: 23 2f mov r18, r19
1ee: 22 0f add r18, r18
1f0: 23 0f add r18, r19
1f2: 92 2f mov r25, r18
1f4: 92 95 swap r25
1f6: 99 0f add r25, r25
1f8: 90 7e andi r25, 0xE0 ; 224
1fa: 92 0f add r25, r18
1fc: 93 0f add r25, r19
1fe: 89 0f add r24, r25
200: 94 2f mov r25, r20
202: 99 0f add r25, r25
204: 99 0f add r25, r25
206: 94 0f add r25, r20
208: 99 0f add r25, r25
20a: 89 0f add r24, r25
20c: 80 93 a7 00 sts 0x00A7, r24
210: a5 cf rjmp .-182 ; 0x15c <__vector_7+0x40>
17e: 80 91 93 00 lds r24, 0x0093
182: 84 36 cpi r24, 0x64 ; 100
184: b9 f0 breq .+46 ; 0x1b4 <__vector_7+0x98>
/*send("Werte: Time: ");
send(number+0x30);
send(" Light: ");
send(dimmer+0x30);
send("\r\n");*/
uart_str_count = 0;
186: 10 92 92 00 sts 0x0092, r1
u.interrupt();
18a: ff 91 pop r31
18c: ef 91 pop r30
18e: 9f 91 pop r25
190: 8f 91 pop r24
192: 4f 91 pop r20
194: 3f 91 pop r19
196: 2f 91 pop r18
198: 0f 90 pop r0
19a: 0f be out 0x3f, r0 ; 63
19c: 0f 90 pop r0
19e: 1f 90 pop r1
1a0: 18 95 reti
uart_str_count++;
//send(nextChar);
send(nextChar);
} else {
//send("\r\n");
send("\r\n");
if(uart_string[0] == 't') {
number = uart_string[diget]-0x30;
212: 80 91 ab 00 lds r24, 0x00AB
216: 80 53 subi r24, 0x30 ; 48
218: 80 93 a6 00 sts 0x00A6, r24
21c: 9a cf rjmp .-204 ; 0x152 <__vector_7+0x36>
1a2: 80 91 94 00 lds r24, 0x0094
1a6: 80 53 subi r24, 0x30 ; 48
1a8: 80 93 90 00 sts 0x0090, r24
}
if(uart_string[0] == 'd') {
1ac: 80 91 93 00 lds r24, 0x0093
1b0: 84 36 cpi r24, 0x64 ; 100
1b2: 49 f7 brne .-46 ; 0x186 <__vector_7+0x6a>
dimmer = (uart_string[1]-0x30)*100 + (uart_string[2]-0x30)*10 + (uart_string[3]-0x30)*1;
1b4: 30 91 94 00 lds r19, 0x0094
1b8: 40 91 95 00 lds r20, 0x0095
1bc: 80 91 96 00 lds r24, 0x0096
1c0: 80 5d subi r24, 0xD0 ; 208
1c2: 23 2f mov r18, r19
1c4: 22 0f add r18, r18
1c6: 23 0f add r18, r19
1c8: 92 2f mov r25, r18
1ca: 92 95 swap r25
1cc: 99 0f add r25, r25
1ce: 90 7e andi r25, 0xE0 ; 224
1d0: 92 0f add r25, r18
1d2: 93 0f add r25, r19
1d4: 89 0f add r24, r25
1d6: 94 2f mov r25, r20
1d8: 99 0f add r25, r25
1da: 99 0f add r25, r25
1dc: 94 0f add r25, r20
1de: 99 0f add r25, r25
1e0: 89 0f add r24, r25
1e2: 80 93 91 00 sts 0x0091, r24
1e6: cf cf rjmp .-98 ; 0x186 <__vector_7+0x6a>
0000021e <_GLOBAL__sub_I_u>:
000001e8 <_GLOBAL__sub_I_u>:
#include <avr/interrupt.h>
template <uint32_t baudrate, uint8_t diget>
class Uart {
public:
Uart() {
21e: 10 92 a6 00 sts 0x00A6, r1
222: 10 92 a7 00 sts 0x00A7, r1
226: 10 92 a8 00 sts 0x00A8, r1
1e8: 10 92 90 00 sts 0x0090, r1
1ec: 82 e3 ldi r24, 0x32 ; 50
1ee: 80 93 91 00 sts 0x0091, r24
1f2: 10 92 92 00 sts 0x0092, r1
sei();
22a: 78 94 sei
uint8_t dimmer = 0;
1f6: 78 94 sei
uint8_t dimmer = 50;
static const uint8_t UART_MAXSTRLEN = 15;
volatile uint8_t uart_str_count = 0;
volatile char uart_string[UART_MAXSTRLEN];
void init() {
UCSRC = (1<<UCSZ1) | (1<<UCSZ0) /* 8-Bit */ | (0<<UPM1) | (0<<UPM0) /* No Parity */ | (0<<UMSEL) /* Asyncron */;
22c: 86 e0 ldi r24, 0x06 ; 6
22e: 83 b9 out 0x03, r24 ; 3
1f8: 86 e0 ldi r24, 0x06 ; 6
1fa: 83 b9 out 0x03, r24 ; 3
UCSRB = (1<<RXEN) | (1<<RXCIE) /* Recieve & Interrupt */ | (1<<TXEN) /* Send */; //Enable TXEN im Register UCR TX-Data Enable
230: 88 e9 ldi r24, 0x98 ; 152
232: 8a b9 out 0x0a, r24 ; 10
1fc: 88 e9 ldi r24, 0x98 ; 152
1fe: 8a b9 out 0x0a, r24 ; 10
UBRRH = (uint8_t)(((F_CPU / 16 / baudrate) - 1)>>8);
234: 12 b8 out 0x02, r1 ; 2
200: 12 b8 out 0x02, r1 ; 2
UBRRL = (uint8_t)(F_CPU / 16 / baudrate) - 1;
236: 81 e8 ldi r24, 0x81 ; 129
238: 89 b9 out 0x09, r24 ; 9
23a: e8 e8 ldi r30, 0x88 ; 136
23c: f0 e0 ldi r31, 0x00 ; 0
202: 81 e8 ldi r24, 0x81 ; 129
204: 89 b9 out 0x09, r24 ; 9
206: e1 e7 ldi r30, 0x71 ; 113
208: f0 e0 ldi r31, 0x00 ; 0
sei();
init();
send("Uart done!\r\n");
}
void send(const char *text) {
while (*text)
23e: 85 e5 ldi r24, 0x55 ; 85
20a: 85 e5 ldi r24, 0x55 ; 85
UCSRB = (1<<RXEN) | (1<<RXCIE) /* Recieve & Interrupt */ | (1<<TXEN) /* Send */; //Enable TXEN im Register UCR TX-Data Enable
UBRRH = (uint8_t)(((F_CPU / 16 / baudrate) - 1)>>8);
UBRRL = (uint8_t)(F_CPU / 16 / baudrate) - 1;
}
uint8_t uart_putchar(uint8_t c) {
loop_until_bit_is_set(UCSRA, UDRE); /* Data Register Empty */
240: 5d 9b sbis 0x0b, 5 ; 11
242: fe cf rjmp .-4 ; 0x240 <_GLOBAL__sub_I_u+0x22>
20c: 5d 9b sbis 0x0b, 5 ; 11
20e: fe cf rjmp .-4 ; 0x20c <_GLOBAL__sub_I_u+0x24>
UDR = c;
244: 8c b9 out 0x0c, r24 ; 12
210: 8c b9 out 0x0c, r24 ; 12
sei();
init();
send("Uart done!\r\n");
}
void send(const char *text) {
while (*text)
246: 81 91 ld r24, Z+
248: 81 11 cpse r24, r1
24a: fa cf rjmp .-12 ; 0x240 <_GLOBAL__sub_I_u+0x22>
212: 81 91 ld r24, Z+
214: 81 11 cpse r24, r1
216: fa cf rjmp .-12 ; 0x20c <_GLOBAL__sub_I_u+0x24>
#include <util/delay.h>
template <typename Port>
class Led {
public:
Led() {
24c: 10 92 94 00 sts 0x0094, r1
250: 10 92 95 00 sts 0x0095, r1
254: 80 e1 ldi r24, 0x10 ; 16
256: e0 e6 ldi r30, 0x60 ; 96
258: f0 e0 ldi r31, 0x00 ; 0
25a: a6 e9 ldi r26, 0x96 ; 150
25c: b0 e0 ldi r27, 0x00 ; 0
25e: 01 90 ld r0, Z+
260: 0d 92 st X+, r0
262: 8a 95 dec r24
264: e1 f7 brne .-8 ; 0x25e <_GLOBAL__sub_I_u+0x40>
218: 10 92 7e 00 sts 0x007E, r1
21c: 10 92 7f 00 sts 0x007F, r1
220: 80 e1 ldi r24, 0x10 ; 16
222: e0 e6 ldi r30, 0x60 ; 96
224: f0 e0 ldi r31, 0x00 ; 0
226: a0 e8 ldi r26, 0x80 ; 128
228: b0 e0 ldi r27, 0x00 ; 0
22a: 01 90 ld r0, Z+
22c: 0d 92 st X+, r0
22e: 8a 95 dec r24
230: e1 f7 brne .-8 ; 0x22a <_GLOBAL__sub_I_u+0x42>
static uint8_t pin() { return PINB; }
static void pin(uint8_t v) { PINB = v; }
static uint8_t dir() { return DDRB; }
static void dir(uint8_t v) { DDRB = v; }
266: 8f e7 ldi r24, 0x7F ; 127
268: 87 bb out 0x17, r24 ; 23
232: 8f e7 ldi r24, 0x7F ; 127
234: 87 bb out 0x17, r24 ; 23
// Clock value: 312,500 kHz
// Mode: Normal top=0xFF
// OC0A output: Disconnected
// OC0B output: Disconnected
// Timer Period: 0,8192 ms
TCCR0A=(0<<COM0A1) | (0<<COM0A0) | (0<<COM0B1) | (0<<COM0B0) | (0<<WGM01) | (0<<WGM00);
26a: 10 be out 0x30, r1 ; 48
236: 10 be out 0x30, r1 ; 48
TCCR0B=(0<<WGM02) | (0<<CS02) | (1<<CS01) | (1<<CS00);
26c: 83 e0 ldi r24, 0x03 ; 3
26e: 83 bf out 0x33, r24 ; 51
238: 83 e0 ldi r24, 0x03 ; 3
23a: 83 bf out 0x33, r24 ; 51
TCNT0=0x00;
270: 12 be out 0x32, r1 ; 50
23c: 12 be out 0x32, r1 ; 50
OCR0A=0x00;
272: 16 be out 0x36, r1 ; 54
23e: 16 be out 0x36, r1 ; 54
OCR0B=0x00;
274: 1c be out 0x3c, r1 ; 60
240: 1c be out 0x3c, r1 ; 60
// Timer(s)/Counter(s) Interrupt(s) initialization
TIMSK=(0<<TOIE1) | (0<<OCIE1A) | (0<<OCIE1B) | (0<<ICIE1) | (0<<OCIE0B) | (1<<TOIE0) | (0<<OCIE0A);
276: 82 e0 ldi r24, 0x02 ; 2
278: 89 bf out 0x39, r24 ; 57
27a: 08 95 ret
242: 82 e0 ldi r24, 0x02 ; 2
244: 89 bf out 0x39, r24 ; 57
246: 08 95 ret
0000027c <__tablejump2__>:
27c: ee 0f add r30, r30
27e: ff 1f adc r31, r31
00000248 <__tablejump2__>:
248: ee 0f add r30, r30
24a: ff 1f adc r31, r31
00000280 <__tablejump__>:
280: 05 90 lpm r0, Z+
282: f4 91 lpm r31, Z
284: e0 2d mov r30, r0
286: 09 94 ijmp
0000024c <__tablejump__>:
24c: 05 90 lpm r0, Z+
24e: f4 91 lpm r31, Z
250: e0 2d mov r30, r0
252: 09 94 ijmp
00000288 <_exit>:
288: f8 94 cli
00000254 <_exit>:
254: f8 94 cli
0000028a <__stop_program>:
28a: ff cf rjmp .-2 ; 0x28a <__stop_program>
00000256 <__stop_program>:
256: ff cf rjmp .-2 ; 0x256 <__stop_program>

View File

@ -195,7 +195,7 @@ LOAD c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8
.rela.plt
*(.rela.plt)
.text 0x00000000 0x28c
.text 0x00000000 0x258
*(.vectors)
.vectors 0x00000000 0x26 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr25/tiny-stack/crttn2313.o
0x00000000 __vector_default
@ -280,18 +280,18 @@ LOAD c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8
0x00000090 0x8c Zahl.o
0x00000090 __vector_6
.text.__vector_7
0x0000011c 0x102 Zahl.o
0x0000011c 0xcc Zahl.o
0x0000011c __vector_7
.text.startup._GLOBAL__sub_I_u
0x0000021e 0x5e Zahl.o
.text.libgcc 0x0000027c 0xc c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr25/tiny-stack\libgcc.a(_tablejump.o)
0x0000027c __tablejump2__
0x00000280 __tablejump__
0x00000288 . = ALIGN (0x2)
0x000001e8 0x60 Zahl.o
.text.libgcc 0x00000248 0xc c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr25/tiny-stack\libgcc.a(_tablejump.o)
0x00000248 __tablejump2__
0x0000024c __tablejump__
0x00000254 . = ALIGN (0x2)
*(.fini9)
.fini9 0x00000288 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr25/tiny-stack\libgcc.a(_exit.o)
0x00000288 _exit
0x00000288 exit
.fini9 0x00000254 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr25/tiny-stack\libgcc.a(_exit.o)
0x00000254 _exit
0x00000254 exit
*(.fini9)
*(.fini8)
*(.fini8)
@ -310,11 +310,11 @@ LOAD c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8
*(.fini1)
*(.fini1)
*(.fini0)
.fini0 0x00000288 0x4 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr25/tiny-stack\libgcc.a(_exit.o)
.fini0 0x00000254 0x4 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr25/tiny-stack\libgcc.a(_exit.o)
*(.fini0)
0x0000028c _etext = .
0x00000258 _etext = .
.data 0x00800060 0x34 load address 0x0000028c
.data 0x00800060 0x1e load address 0x00000258
0x00800060 PROVIDE (__data_start, .)
*(.data)
.data 0x00800060 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr25/tiny-stack/crttn2313.o
@ -329,31 +329,32 @@ LOAD c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8
.rodata 0x00800060 0x10 Zahl.o
*(.rodata*)
.rodata.str1.1
0x00800070 0x24 Zahl.o
0x27 (size before relaxing)
0x00800070 0xd Zahl.o
0x10 (size before relaxing)
*(.gnu.linkonce.d*)
0x00800094 . = ALIGN (0x2)
0x00800094 _edata = .
0x00800094 PROVIDE (__data_end, .)
0x0080007e . = ALIGN (0x2)
*fill* 0x0080007d 0x1
0x0080007e _edata = .
0x0080007e PROVIDE (__data_end, .)
.bss 0x00800094 0x24
0x00800094 PROVIDE (__bss_start, .)
.bss 0x0080007e 0x24
0x0080007e PROVIDE (__bss_start, .)
*(.bss)
.bss 0x00800094 0x24 Zahl.o
0x00800094 l
0x008000a6 u
.bss 0x0080007e 0x24 Zahl.o
0x0080007e l
0x00800090 u
*(.bss*)
*(COMMON)
0x008000b8 PROVIDE (__bss_end, .)
0x0000028c __data_load_start = LOADADDR (.data)
0x000002c0 __data_load_end = (__data_load_start + SIZEOF (.data))
0x008000a2 PROVIDE (__bss_end, .)
0x00000258 __data_load_start = LOADADDR (.data)
0x00000276 __data_load_end = (__data_load_start + SIZEOF (.data))
.noinit 0x008000b8 0x0
0x008000b8 PROVIDE (__noinit_start, .)
.noinit 0x008000a2 0x0
0x008000a2 PROVIDE (__noinit_start, .)
*(.noinit*)
0x008000b8 PROVIDE (__noinit_end, .)
0x008000b8 _end = .
0x008000b8 PROVIDE (__heap_start, .)
0x008000a2 PROVIDE (__noinit_end, .)
0x008000a2 _end = .
0x008000a2 PROVIDE (__heap_start, .)
.eeprom 0x00810000 0x0
*(.eeprom*)
@ -419,18 +420,18 @@ LOAD c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8
.debug_pubnames
*(.debug_pubnames)
.debug_info 0x00000000 0xbac
.debug_info 0x00000000 0xac4
*(.debug_info)
.debug_info 0x00000000 0xbac Zahl.o
.debug_info 0x00000000 0xac4 Zahl.o
*(.gnu.linkonce.wi.*)
.debug_abbrev 0x00000000 0x369
*(.debug_abbrev)
.debug_abbrev 0x00000000 0x369 Zahl.o
.debug_line 0x00000000 0x285
.debug_line 0x00000000 0x26b
*(.debug_line)
.debug_line 0x00000000 0x285 Zahl.o
.debug_line 0x00000000 0x26b Zahl.o
.debug_frame 0x00000000 0xbc
*(.debug_frame)
@ -441,9 +442,9 @@ LOAD c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8
.debug_str 0x00000000 0x498 Zahl.o
0x4d1 (size before relaxing)
.debug_loc 0x00000000 0x2b1
.debug_loc 0x00000000 0x26f
*(.debug_loc)
.debug_loc 0x00000000 0x2b1 Zahl.o
.debug_loc 0x00000000 0x26f Zahl.o
.debug_macinfo
*(.debug_macinfo)

View File

@ -1,47 +1,42 @@
S00C00005A61686C2E7372656389
S113000013C035C034C033C032C031C041C086C013
S11300102EC02DC02CC02BC02AC029C028C027C088
S113002026C025C024C00F0111241FBECFEDCDBFB3
S113003010E0A0E6B0E0ECE8F2E002C005900D921A
S1130040A439B107D9F720E0A4E9B0E001C01D92BA
S1130050A83BB207E1F710E0C8E2D0E003C0229762
S1130060FE010ED1C632D107D1F702D00DC1C8CFDF
S113007078948091A7009091A60090939400809327
S113008095008FE493EC0197F1F700C00000F1CFE5
S113002026C025C024C0F40011241FBECFEDCDBFCF
S113003010E0A0E6B0E0E8E5F2E002C005900D9221
S1130040AE37B107D9F720E0AEE7B0E001C01D92AA
S1130050A23AB207E1F710E0C8E2D0E003C0229769
S1130060FE01F4D0C632D107D1F702D0F3C0C8CF15
S11300707894809191009091900090937E00809369
S11300807F008FE493EC0197F1F700C00000F1CFFB
S11300901F920F920FB60F9211242F933F934F93F9
S11300A05F936F938F939F93EF93FF93809195004A
S11300B0882399F080E0E0919400F0E0EC56FF4F43
S11300A05F936F938F939F93EF93FF9380917F0060
S11300B0882399F080E0E0917E00F0E0E258FF4F61
S11300C0928198BB96E09A95F1F700C08F5F90916A
S11300D09500891780F39F3F99F060E04FEF50E05F
S11300D07F00891780F39F3F99F060E04FEF50E075
S11300E018BAE6E0EA95F1F700C06F5F262F30E01A
S11300F080919500FA01E81BF1092E173F0784F35C
S11300F080917F00FA01E81BF1092E173F0784F372
S1130100FF91EF919F918F916F915F914F913F91EB
S11301102F910F900FBE0F901F9018951F920F9262
S11301200FB60F9211242F933F934F938F939F9366
S1130130EF93FF938CB18A3039F08D3029F0909190
S1130140A8009F3008F43FC08091A900843709F4C7
S113015060C08091A900843609F441C0EAE7F0E068
S113016087E55D9BFECF8CB981918111FACF809197
S1130170A600805D5D9BFECF8CB9E1E7F0E080E2F4
S11301805D9BFECF8CB981918111FACF8091A7003C
S1130190805D5D9BFECF8CB9E2E9F0E08DE05D9B74
S11301A0FECF8CB981918111FACF1092A800FF91F2
S11301B0EF919F918F914F913F912F910F900FBE8F
S11301C00F901F901895E091A800F0E0EA55FF4FBA
S11301D083838091A8008F5F8093A800E8CF30913B
S11301E0AA004091AB008091AC00805D232F220FC8
S11301F0230F922F9295990F907E920F930F890F50
S1130200942F990F990F940F990F890F8093A7003A
S1130210A5CF8091AB0080538093A6009ACF109213
S1130220A6001092A7001092A800789486E083B9E3
S113023088E98AB912B881E889B9E8E8F0E085E587
S11302405D9BFECF8CB981918111FACF10929400FD
S11302501092950080E1E0E6F0E0A6E9B0E00190BC
S11302600D928A95E1F78FE787BB10BE83E083BFC9
S113027012BE16BE1CBE82E089BF0895EE0FFF1F9A
S10F02800590F491E02D0994F894FFCF50
S113028C7B036E4F175D7D0B7F5F3F7578677C3CFE
S113029C204C696768743A200057657274653A207B
S11302AC54696D653A20005561727420646F6E65F3
S10702BC210D0A0002
S1130130EF93FF938CB18A30A9F08D3099F09091B0
S113014092009F3078F4E0919200F0E0E057FF4F86
S11301508383909192009F5F909392005D9BFECF6A
S11301608CB913C0EBE7F0E08DE05D9BFECF8CB95A
S113017081918111FACF80919300843791F080911D
S113018093008436B9F010929200FF91EF919F9101
S11301908F914F913F912F910F900FBE0F901F9011
S11301A018958091940080538093900080919300DF
S11301B0843649F7309194004091950080919600DF
S11301C0805D232F220F230F922F9295990F907EFB
S11301D0920F930F890F942F990F990F940F990FE2
S11301E0890F80939100CFCF1092900082E3809387
S11301F0910010929200789486E083B988E98AB9D4
S113020012B881E889B9E1E7F0E085E55D9BFECFAE
S11302108CB981918111FACF10927E0010927F00E7
S113022080E1E0E6F0E0A0E8B0E001900D928A956C
S1130230E1F78FE787BB10BE83E083BF12BE16BE13
S11302401CBE82E089BF0895EE0FFF1F0590F49154
S10B0250E02D0994F894FFCF9E
S11302587B036E4F175D7D0B7F5F3F7578677C3C32
S11102685561727420646F6E65210D0A0000EA
S9030000FC

View File

@ -12,7 +12,7 @@
///////////////////////// UART ////////////////////////////////////
typedef Uart<9600, 2> uartclass;
typedef Uart<9600, 1> uartclass;
uartclass u;
///////////////////////// LED /////////////////////////////////////
typedef Led<avrlib::portb> ledclass;

View File

@ -40,20 +40,20 @@ class Uart {
if( nextChar != '\n' && nextChar != '\r' && uart_str_count < UART_MAXSTRLEN) {
uart_string[uart_str_count] = nextChar;
uart_str_count++;
//send(nextChar);
send(nextChar);
} else {
//send("\r\n");
send("\r\n");
if(uart_string[0] == 't') {
number = uart_string[diget]-0x30;
}
if(uart_string[0] == 'd') {
dimmer = (uart_string[1]-0x30)*100 + (uart_string[2]-0x30)*10 + (uart_string[3]-0x30)*1;
}
send("Werte: Time: ");
/*send("Werte: Time: ");
send(number+0x30);
send(" Light: ");
send(dimmer+0x30);
send("\r\n");
send("\r\n");*/
uart_str_count = 0;
}
}
@ -65,7 +65,7 @@ class Uart {
}
private:
uint8_t number = 0;
uint8_t dimmer = 0;
uint8_t dimmer = 50;
static const uint8_t UART_MAXSTRLEN = 15;
volatile uint8_t uart_str_count = 0;
volatile char uart_string[UART_MAXSTRLEN];