20131213-093359
This commit is contained in:
parent
11933f0506
commit
1ad669004c
Binary file not shown.
@ -1,46 +1,41 @@
|
|||||||
:1000000013C035C034C033C032C031C041C086C017
|
:1000000013C035C034C033C032C031C041C086C017
|
||||||
:100010002EC02DC02CC02BC02AC029C028C027C08C
|
:100010002EC02DC02CC02BC02AC029C028C027C08C
|
||||||
:1000200026C025C024C00F0111241FBECFEDCDBFB7
|
:1000200026C025C024C0F40011241FBECFEDCDBFD3
|
||||||
:1000300010E0A0E6B0E0ECE8F2E002C005900D921E
|
:1000300010E0A0E6B0E0E8E5F2E002C005900D9225
|
||||||
:10004000A439B107D9F720E0A4E9B0E001C01D92BE
|
:10004000AE37B107D9F720E0AEE7B0E001C01D92AE
|
||||||
:10005000A83BB207E1F710E0C8E2D0E003C0229766
|
:10005000A23AB207E1F710E0C8E2D0E003C022976D
|
||||||
:10006000FE010ED1C632D107D1F702D00DC1C8CFE3
|
:10006000FE01F4D0C632D107D1F702D0F3C0C8CF19
|
||||||
:1000700078948091A7009091A6009093940080932B
|
:100070007894809191009091900090937E0080936D
|
||||||
:1000800095008FE493EC0197F1F700C00000F1CFE9
|
:100080007F008FE493EC0197F1F700C00000F1CFFF
|
||||||
:100090001F920F920FB60F9211242F933F934F93FD
|
:100090001F920F920FB60F9211242F933F934F93FD
|
||||||
:1000A0005F936F938F939F93EF93FF93809195004E
|
:1000A0005F936F938F939F93EF93FF9380917F0064
|
||||||
:1000B000882399F080E0E0919400F0E0EC56FF4F47
|
:1000B000882399F080E0E0917E00F0E0E258FF4F65
|
||||||
:1000C000928198BB96E09A95F1F700C08F5F90916E
|
:1000C000928198BB96E09A95F1F700C08F5F90916E
|
||||||
:1000D0009500891780F39F3F99F060E04FEF50E063
|
:1000D0007F00891780F39F3F99F060E04FEF50E079
|
||||||
:1000E00018BAE6E0EA95F1F700C06F5F262F30E01E
|
:1000E00018BAE6E0EA95F1F700C06F5F262F30E01E
|
||||||
:1000F00080919500FA01E81BF1092E173F0784F360
|
:1000F00080917F00FA01E81BF1092E173F0784F376
|
||||||
:10010000FF91EF919F918F916F915F914F913F91EF
|
:10010000FF91EF919F918F916F915F914F913F91EF
|
||||||
:100110002F910F900FBE0F901F9018951F920F9266
|
:100110002F910F900FBE0F901F9018951F920F9266
|
||||||
:100120000FB60F9211242F933F934F938F939F936A
|
:100120000FB60F9211242F933F934F938F939F936A
|
||||||
:10013000EF93FF938CB18A3039F08D3029F0909194
|
:10013000EF93FF938CB18A30A9F08D3099F09091B4
|
||||||
:10014000A8009F3008F43FC08091A900843709F4CB
|
:1001400092009F3078F4E0919200F0E0E057FF4F8A
|
||||||
:1001500060C08091A900843609F441C0EAE7F0E06C
|
:100150008383909192009F5F909392005D9BFECF6E
|
||||||
:1001600087E55D9BFECF8CB981918111FACF80919B
|
:100160008CB913C0EBE7F0E08DE05D9BFECF8CB95E
|
||||||
:10017000A600805D5D9BFECF8CB9E1E7F0E080E2F8
|
:1001700081918111FACF80919300843791F0809121
|
||||||
:100180005D9BFECF8CB981918111FACF8091A70040
|
:1001800093008436B9F010929200FF91EF919F9105
|
||||||
:10019000805D5D9BFECF8CB9E2E9F0E08DE05D9B78
|
:100190008F914F913F912F910F900FBE0F901F9015
|
||||||
:1001A000FECF8CB981918111FACF1092A800FF91F6
|
:1001A00018958091940080538093900080919300E3
|
||||||
:1001B000EF919F918F914F913F912F910F900FBE93
|
:1001B000843649F7309194004091950080919600E3
|
||||||
:1001C0000F901F901895E091A800F0E0EA55FF4FBE
|
:1001C000805D232F220F230F922F9295990F907EFF
|
||||||
:1001D00083838091A8008F5F8093A800E8CF30913F
|
:1001D000920F930F890F942F990F990F940F990FE6
|
||||||
:1001E000AA004091AB008091AC00805D232F220FCC
|
:1001E000890F80939100CFCF1092900082E380938B
|
||||||
:1001F000230F922F9295990F907E920F930F890F54
|
:1001F000910010929200789486E083B988E98AB9D8
|
||||||
:10020000942F990F990F940F990F890F8093A7003E
|
:1002000012B881E889B9E1E7F0E085E55D9BFECFB2
|
||||||
:10021000A5CF8091AB0080538093A6009ACF109217
|
:100210008CB981918111FACF10927E0010927F00EB
|
||||||
:10022000A6001092A7001092A800789486E083B9E7
|
:1002200080E1E0E6F0E0A0E8B0E001900D928A9570
|
||||||
:1002300088E98AB912B881E889B9E8E8F0E085E58B
|
:10023000E1F78FE787BB10BE83E083BF12BE16BE17
|
||||||
:100240005D9BFECF8CB981918111FACF1092940001
|
:100240001CBE82E089BF0895EE0FFF1F0590F49158
|
||||||
:100250001092950080E1E0E6F0E0A6E9B0E00190C0
|
:08025000E02D0994F894FFCFA2
|
||||||
:100260000D928A95E1F78FE787BB10BE83E083BFCD
|
:100258007B036E4F175D7D0B7F5F3F7578677C3C36
|
||||||
:1002700012BE16BE1CBE82E089BF0895EE0FFF1F9E
|
:0E0268005561727420646F6E65210D0A0000EE
|
||||||
:0C0280000590F491E02D0994F894FFCF54
|
|
||||||
:10028C007B036E4F175D7D0B7F5F3F7578677C3C02
|
|
||||||
:10029C00204C696768743A200057657274653A207F
|
|
||||||
:1002AC0054696D653A20005561727420646F6E65F7
|
|
||||||
:0402BC00210D0A0006
|
|
||||||
:00000001FF
|
:00000001FF
|
||||||
|
@ -3,33 +3,33 @@ Zahl.elf: file format elf32-avr
|
|||||||
|
|
||||||
Sections:
|
Sections:
|
||||||
Idx Name Size VMA LMA File off Algn
|
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
|
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
|
CONTENTS, ALLOC, LOAD, DATA
|
||||||
2 .bss 00000024 00800094 00800094 00000354 2**0
|
2 .bss 00000024 0080007e 0080007e 0000030a 2**0
|
||||||
ALLOC
|
ALLOC
|
||||||
3 .stab 000006b4 00000000 00000000 00000354 2**2
|
3 .stab 000006b4 00000000 00000000 0000030c 2**2
|
||||||
CONTENTS, READONLY, DEBUGGING
|
CONTENTS, READONLY, DEBUGGING
|
||||||
4 .stabstr 00000082 00000000 00000000 00000a08 2**0
|
4 .stabstr 00000082 00000000 00000000 000009c0 2**0
|
||||||
CONTENTS, READONLY, DEBUGGING
|
CONTENTS, READONLY, DEBUGGING
|
||||||
5 .comment 0000002f 00000000 00000000 00000a8a 2**0
|
5 .comment 0000002f 00000000 00000000 00000a42 2**0
|
||||||
CONTENTS, READONLY
|
CONTENTS, READONLY
|
||||||
6 .debug_aranges 00000038 00000000 00000000 00000ab9 2**0
|
6 .debug_aranges 00000038 00000000 00000000 00000a71 2**0
|
||||||
CONTENTS, READONLY, DEBUGGING
|
CONTENTS, READONLY, DEBUGGING
|
||||||
7 .debug_info 00000bac 00000000 00000000 00000af1 2**0
|
7 .debug_info 00000ac4 00000000 00000000 00000aa9 2**0
|
||||||
CONTENTS, READONLY, DEBUGGING
|
CONTENTS, READONLY, DEBUGGING
|
||||||
8 .debug_abbrev 00000369 00000000 00000000 0000169d 2**0
|
8 .debug_abbrev 00000369 00000000 00000000 0000156d 2**0
|
||||||
CONTENTS, READONLY, DEBUGGING
|
CONTENTS, READONLY, DEBUGGING
|
||||||
9 .debug_line 00000285 00000000 00000000 00001a06 2**0
|
9 .debug_line 0000026b 00000000 00000000 000018d6 2**0
|
||||||
CONTENTS, READONLY, DEBUGGING
|
CONTENTS, READONLY, DEBUGGING
|
||||||
10 .debug_frame 000000bc 00000000 00000000 00001c8c 2**2
|
10 .debug_frame 000000bc 00000000 00000000 00001b44 2**2
|
||||||
CONTENTS, READONLY, DEBUGGING
|
CONTENTS, READONLY, DEBUGGING
|
||||||
11 .debug_str 00000498 00000000 00000000 00001d48 2**0
|
11 .debug_str 00000498 00000000 00000000 00001c00 2**0
|
||||||
CONTENTS, READONLY, DEBUGGING
|
CONTENTS, READONLY, DEBUGGING
|
||||||
12 .debug_loc 000002b1 00000000 00000000 000021e0 2**0
|
12 .debug_loc 0000026f 00000000 00000000 00002098 2**0
|
||||||
CONTENTS, READONLY, DEBUGGING
|
CONTENTS, READONLY, DEBUGGING
|
||||||
13 .debug_ranges 00000098 00000000 00000000 00002491 2**0
|
13 .debug_ranges 00000098 00000000 00000000 00002307 2**0
|
||||||
CONTENTS, READONLY, DEBUGGING
|
CONTENTS, READONLY, DEBUGGING
|
||||||
|
|
||||||
Disassembly of section .text:
|
Disassembly of section .text:
|
||||||
@ -56,7 +56,7 @@ Disassembly of section .text:
|
|||||||
24: 24 c0 rjmp .+72 ; 0x6e <__bad_interrupt>
|
24: 24 c0 rjmp .+72 ; 0x6e <__bad_interrupt>
|
||||||
|
|
||||||
00000026 <__ctors_start>:
|
00000026 <__ctors_start>:
|
||||||
26: 0f 01 movw r0, r30
|
26: f4 00 .word 0x00f4 ; ????
|
||||||
|
|
||||||
00000028 <__ctors_end>:
|
00000028 <__ctors_end>:
|
||||||
28: 11 24 eor r1, r1
|
28: 11 24 eor r1, r1
|
||||||
@ -68,18 +68,18 @@ Disassembly of section .text:
|
|||||||
30: 10 e0 ldi r17, 0x00 ; 0
|
30: 10 e0 ldi r17, 0x00 ; 0
|
||||||
32: a0 e6 ldi r26, 0x60 ; 96
|
32: a0 e6 ldi r26, 0x60 ; 96
|
||||||
34: b0 e0 ldi r27, 0x00 ; 0
|
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
|
38: f2 e0 ldi r31, 0x02 ; 2
|
||||||
3a: 02 c0 rjmp .+4 ; 0x40 <__SREG__+0x1>
|
3a: 02 c0 rjmp .+4 ; 0x40 <__SREG__+0x1>
|
||||||
3c: 05 90 lpm r0, Z+
|
3c: 05 90 lpm r0, Z+
|
||||||
3e: 0d 92 st X+, r0
|
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
|
42: b1 07 cpc r27, r17
|
||||||
44: d9 f7 brne .-10 ; 0x3c <__do_copy_data+0xc>
|
44: d9 f7 brne .-10 ; 0x3c <__do_copy_data+0xc>
|
||||||
|
|
||||||
00000046 <__do_clear_bss>:
|
00000046 <__do_clear_bss>:
|
||||||
46: 20 e0 ldi r18, 0x00 ; 0
|
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
|
4a: b0 e0 ldi r27, 0x00 ; 0
|
||||||
4c: 01 c0 rjmp .+2 ; 0x50 <.do_clear_bss_start>
|
4c: 01 c0 rjmp .+2 ; 0x50 <.do_clear_bss_start>
|
||||||
|
|
||||||
@ -87,7 +87,7 @@ Disassembly of section .text:
|
|||||||
4e: 1d 92 st X+, r1
|
4e: 1d 92 st X+, r1
|
||||||
|
|
||||||
00000050 <.do_clear_bss_start>:
|
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
|
52: b2 07 cpc r27, r18
|
||||||
54: e1 f7 brne .-8 ; 0x4e <.do_clear_bss_loop>
|
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>
|
5c: 03 c0 rjmp .+6 ; 0x64 <__do_global_ctors+0xe>
|
||||||
5e: 22 97 sbiw r28, 0x02 ; 2
|
5e: 22 97 sbiw r28, 0x02 ; 2
|
||||||
60: fe 01 movw r30, r28
|
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
|
64: c6 32 cpi r28, 0x26 ; 38
|
||||||
66: d1 07 cpc r29, r17
|
66: d1 07 cpc r29, r17
|
||||||
68: d1 f7 brne .-12 ; 0x5e <__do_global_ctors+0x8>
|
68: d1 f7 brne .-12 ; 0x5e <__do_global_ctors+0x8>
|
||||||
6a: 02 d0 rcall .+4 ; 0x70 <main>
|
6a: 02 d0 rcall .+4 ; 0x70 <main>
|
||||||
6c: 0d c1 rjmp .+538 ; 0x288 <_exit>
|
6c: f3 c0 rjmp .+486 ; 0x254 <_exit>
|
||||||
|
|
||||||
0000006e <__bad_interrupt>:
|
0000006e <__bad_interrupt>:
|
||||||
6e: c8 cf rjmp .-112 ; 0x0 <__vectors>
|
6e: c8 cf rjmp .-112 ; 0x0 <__vectors>
|
||||||
@ -122,19 +122,19 @@ int main(void)
|
|||||||
}
|
}
|
||||||
uint8_t getDim() {
|
uint8_t getDim() {
|
||||||
return dimmer;
|
return dimmer;
|
||||||
72: 80 91 a7 00 lds r24, 0x00A7
|
72: 80 91 91 00 lds r24, 0x0091
|
||||||
public:
|
public:
|
||||||
Led() {
|
Led() {
|
||||||
init();
|
init();
|
||||||
}
|
}
|
||||||
void setNum(uint8_t number) {
|
void setNum(uint8_t number) {
|
||||||
this->diget = number;
|
this->diget = number;
|
||||||
76: 90 91 a6 00 lds r25, 0x00A6
|
76: 90 91 90 00 lds r25, 0x0090
|
||||||
7a: 90 93 94 00 sts 0x0094, r25
|
7a: 90 93 7e 00 sts 0x007E, r25
|
||||||
}
|
}
|
||||||
void setDim(uint8_t dimmer) {
|
void setDim(uint8_t dimmer) {
|
||||||
this->dim = dimmer;
|
this->dim = dimmer;
|
||||||
7e: 80 93 95 00 sts 0x0095, r24
|
7e: 80 93 7f 00 sts 0x007F, r24
|
||||||
#else
|
#else
|
||||||
//round up by default
|
//round up by default
|
||||||
__ticks_dc = (uint32_t)(ceil(fabs(__tmp)));
|
__ticks_dc = (uint32_t)(ceil(fabs(__tmp)));
|
||||||
@ -176,14 +176,14 @@ ISR(TIMER0_OVF_vect) {
|
|||||||
/* TIMER0_OVF_vect */
|
/* TIMER0_OVF_vect */
|
||||||
void timer() {
|
void timer() {
|
||||||
for(uint8_t k=0;k<this->dim;k++) {
|
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
|
b0: 88 23 and r24, r24
|
||||||
b2: 99 f0 breq .+38 ; 0xda <__vector_6+0x4a>
|
b2: 99 f0 breq .+38 ; 0xda <__vector_6+0x4a>
|
||||||
b4: 80 e0 ldi r24, 0x00 ; 0
|
b4: 80 e0 ldi r24, 0x00 ; 0
|
||||||
Port::port(segs[this->diget]);
|
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
|
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
|
be: ff 4f sbci r31, 0xFF ; 255
|
||||||
c0: 92 81 ldd r25, Z+2 ; 0x02
|
c0: 92 81 ldd r25, Z+2 ; 0x02
|
||||||
namespace avrlib {
|
namespace avrlib {
|
||||||
@ -210,7 +210,7 @@ namespace avrlib {
|
|||||||
void timer() {
|
void timer() {
|
||||||
for(uint8_t k=0;k<this->dim;k++) {
|
for(uint8_t k=0;k<this->dim;k++) {
|
||||||
cc: 8f 5f subi r24, 0xFF ; 255
|
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
|
d2: 89 17 cp r24, r25
|
||||||
d4: 80 f3 brcs .-32 ; 0xb6 <__vector_6+0x26>
|
d4: 80 f3 brcs .-32 ; 0xb6 <__vector_6+0x26>
|
||||||
Port::port(segs[this->diget]);
|
Port::port(segs[this->diget]);
|
||||||
@ -240,7 +240,7 @@ namespace avrlib {
|
|||||||
ea: 6f 5f subi r22, 0xFF ; 255
|
ea: 6f 5f subi r22, 0xFF ; 255
|
||||||
ec: 26 2f mov r18, r22
|
ec: 26 2f mov r18, r22
|
||||||
ee: 30 e0 ldi r19, 0x00 ; 0
|
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
|
f4: fa 01 movw r30, r20
|
||||||
f6: e8 1b sub r30, r24
|
f6: e8 1b sub r30, r24
|
||||||
f8: f1 09 sbc r31, r1
|
f8: f1 09 sbc r31, r1
|
||||||
@ -289,341 +289,245 @@ ISR(USART_RX_vect) {
|
|||||||
|
|
||||||
if( nextChar != '\n' && nextChar != '\r' && uart_str_count < UART_MAXSTRLEN) {
|
if( nextChar != '\n' && nextChar != '\r' && uart_str_count < UART_MAXSTRLEN) {
|
||||||
136: 8a 30 cpi r24, 0x0A ; 10
|
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
|
13a: 8d 30 cpi r24, 0x0D ; 13
|
||||||
13c: 29 f0 breq .+10 ; 0x148 <__vector_7+0x2c>
|
13c: 99 f0 breq .+38 ; 0x164 <__vector_7+0x48>
|
||||||
13e: 90 91 a8 00 lds r25, 0x00A8
|
13e: 90 91 92 00 lds r25, 0x0092
|
||||||
142: 9f 30 cpi r25, 0x0F ; 15
|
142: 9f 30 cpi r25, 0x0F ; 15
|
||||||
144: 08 f4 brcc .+2 ; 0x148 <__vector_7+0x2c>
|
144: 78 f4 brcc .+30 ; 0x164 <__vector_7+0x48>
|
||||||
146: 3f c0 rjmp .+126 ; 0x1c6 <__vector_7+0xaa>
|
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_string[uart_str_count] = nextChar;
|
||||||
uart_str_count++;
|
uart_str_count++;
|
||||||
//send(nextChar);
|
send(nextChar);
|
||||||
} else {
|
} 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");
|
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') {
|
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;
|
number = uart_string[diget]-0x30;
|
||||||
}
|
}
|
||||||
if(uart_string[0] == 'd') {
|
if(uart_string[0] == 'd') {
|
||||||
dimmer = (uart_string[1]-0x30)*100 + (uart_string[2]-0x30)*10 + (uart_string[3]-0x30)*1;
|
17e: 80 91 93 00 lds r24, 0x0093
|
||||||
1de: 30 91 aa 00 lds r19, 0x00AA
|
182: 84 36 cpi r24, 0x64 ; 100
|
||||||
1e2: 40 91 ab 00 lds r20, 0x00AB
|
184: b9 f0 breq .+46 ; 0x1b4 <__vector_7+0x98>
|
||||||
1e6: 80 91 ac 00 lds r24, 0x00AC
|
/*send("Werte: Time: ");
|
||||||
1ea: 80 5d subi r24, 0xD0 ; 208
|
send(number+0x30);
|
||||||
1ec: 23 2f mov r18, r19
|
send(" Light: ");
|
||||||
1ee: 22 0f add r18, r18
|
send(dimmer+0x30);
|
||||||
1f0: 23 0f add r18, r19
|
send("\r\n");*/
|
||||||
1f2: 92 2f mov r25, r18
|
uart_str_count = 0;
|
||||||
1f4: 92 95 swap r25
|
186: 10 92 92 00 sts 0x0092, r1
|
||||||
1f6: 99 0f add r25, r25
|
u.interrupt();
|
||||||
1f8: 90 7e andi r25, 0xE0 ; 224
|
18a: ff 91 pop r31
|
||||||
1fa: 92 0f add r25, r18
|
18c: ef 91 pop r30
|
||||||
1fc: 93 0f add r25, r19
|
18e: 9f 91 pop r25
|
||||||
1fe: 89 0f add r24, r25
|
190: 8f 91 pop r24
|
||||||
200: 94 2f mov r25, r20
|
192: 4f 91 pop r20
|
||||||
202: 99 0f add r25, r25
|
194: 3f 91 pop r19
|
||||||
204: 99 0f add r25, r25
|
196: 2f 91 pop r18
|
||||||
206: 94 0f add r25, r20
|
198: 0f 90 pop r0
|
||||||
208: 99 0f add r25, r25
|
19a: 0f be out 0x3f, r0 ; 63
|
||||||
20a: 89 0f add r24, r25
|
19c: 0f 90 pop r0
|
||||||
20c: 80 93 a7 00 sts 0x00A7, r24
|
19e: 1f 90 pop r1
|
||||||
210: a5 cf rjmp .-182 ; 0x15c <__vector_7+0x40>
|
1a0: 18 95 reti
|
||||||
uart_str_count++;
|
uart_str_count++;
|
||||||
//send(nextChar);
|
send(nextChar);
|
||||||
} else {
|
} else {
|
||||||
//send("\r\n");
|
send("\r\n");
|
||||||
if(uart_string[0] == 't') {
|
if(uart_string[0] == 't') {
|
||||||
number = uart_string[diget]-0x30;
|
number = uart_string[diget]-0x30;
|
||||||
212: 80 91 ab 00 lds r24, 0x00AB
|
1a2: 80 91 94 00 lds r24, 0x0094
|
||||||
216: 80 53 subi r24, 0x30 ; 48
|
1a6: 80 53 subi r24, 0x30 ; 48
|
||||||
218: 80 93 a6 00 sts 0x00A6, r24
|
1a8: 80 93 90 00 sts 0x0090, r24
|
||||||
21c: 9a cf rjmp .-204 ; 0x152 <__vector_7+0x36>
|
}
|
||||||
|
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>
|
#include <avr/interrupt.h>
|
||||||
|
|
||||||
template <uint32_t baudrate, uint8_t diget>
|
template <uint32_t baudrate, uint8_t diget>
|
||||||
class Uart {
|
class Uart {
|
||||||
public:
|
public:
|
||||||
Uart() {
|
Uart() {
|
||||||
21e: 10 92 a6 00 sts 0x00A6, r1
|
1e8: 10 92 90 00 sts 0x0090, r1
|
||||||
222: 10 92 a7 00 sts 0x00A7, r1
|
1ec: 82 e3 ldi r24, 0x32 ; 50
|
||||||
226: 10 92 a8 00 sts 0x00A8, r1
|
1ee: 80 93 91 00 sts 0x0091, r24
|
||||||
|
1f2: 10 92 92 00 sts 0x0092, r1
|
||||||
sei();
|
sei();
|
||||||
22a: 78 94 sei
|
1f6: 78 94 sei
|
||||||
uint8_t dimmer = 0;
|
uint8_t dimmer = 50;
|
||||||
static const uint8_t UART_MAXSTRLEN = 15;
|
static const uint8_t UART_MAXSTRLEN = 15;
|
||||||
volatile uint8_t uart_str_count = 0;
|
volatile uint8_t uart_str_count = 0;
|
||||||
volatile char uart_string[UART_MAXSTRLEN];
|
volatile char uart_string[UART_MAXSTRLEN];
|
||||||
void init() {
|
void init() {
|
||||||
UCSRC = (1<<UCSZ1) | (1<<UCSZ0) /* 8-Bit */ | (0<<UPM1) | (0<<UPM0) /* No Parity */ | (0<<UMSEL) /* Asyncron */;
|
UCSRC = (1<<UCSZ1) | (1<<UCSZ0) /* 8-Bit */ | (0<<UPM1) | (0<<UPM0) /* No Parity */ | (0<<UMSEL) /* Asyncron */;
|
||||||
22c: 86 e0 ldi r24, 0x06 ; 6
|
1f8: 86 e0 ldi r24, 0x06 ; 6
|
||||||
22e: 83 b9 out 0x03, r24 ; 3
|
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
|
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
|
1fc: 88 e9 ldi r24, 0x98 ; 152
|
||||||
232: 8a b9 out 0x0a, r24 ; 10
|
1fe: 8a b9 out 0x0a, r24 ; 10
|
||||||
UBRRH = (uint8_t)(((F_CPU / 16 / baudrate) - 1)>>8);
|
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;
|
UBRRL = (uint8_t)(F_CPU / 16 / baudrate) - 1;
|
||||||
236: 81 e8 ldi r24, 0x81 ; 129
|
202: 81 e8 ldi r24, 0x81 ; 129
|
||||||
238: 89 b9 out 0x09, r24 ; 9
|
204: 89 b9 out 0x09, r24 ; 9
|
||||||
23a: e8 e8 ldi r30, 0x88 ; 136
|
206: e1 e7 ldi r30, 0x71 ; 113
|
||||||
23c: f0 e0 ldi r31, 0x00 ; 0
|
208: f0 e0 ldi r31, 0x00 ; 0
|
||||||
sei();
|
sei();
|
||||||
init();
|
init();
|
||||||
send("Uart done!\r\n");
|
send("Uart done!\r\n");
|
||||||
}
|
}
|
||||||
void send(const char *text) {
|
void send(const char *text) {
|
||||||
while (*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
|
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);
|
UBRRH = (uint8_t)(((F_CPU / 16 / baudrate) - 1)>>8);
|
||||||
UBRRL = (uint8_t)(F_CPU / 16 / baudrate) - 1;
|
UBRRL = (uint8_t)(F_CPU / 16 / baudrate) - 1;
|
||||||
}
|
}
|
||||||
uint8_t uart_putchar(uint8_t c) {
|
uint8_t uart_putchar(uint8_t c) {
|
||||||
loop_until_bit_is_set(UCSRA, UDRE); /* Data Register Empty */
|
loop_until_bit_is_set(UCSRA, UDRE); /* Data Register Empty */
|
||||||
240: 5d 9b sbis 0x0b, 5 ; 11
|
20c: 5d 9b sbis 0x0b, 5 ; 11
|
||||||
242: fe cf rjmp .-4 ; 0x240 <_GLOBAL__sub_I_u+0x22>
|
20e: fe cf rjmp .-4 ; 0x20c <_GLOBAL__sub_I_u+0x24>
|
||||||
UDR = c;
|
UDR = c;
|
||||||
244: 8c b9 out 0x0c, r24 ; 12
|
210: 8c b9 out 0x0c, r24 ; 12
|
||||||
sei();
|
sei();
|
||||||
init();
|
init();
|
||||||
send("Uart done!\r\n");
|
send("Uart done!\r\n");
|
||||||
}
|
}
|
||||||
void send(const char *text) {
|
void send(const char *text) {
|
||||||
while (*text)
|
while (*text)
|
||||||
246: 81 91 ld r24, Z+
|
212: 81 91 ld r24, Z+
|
||||||
248: 81 11 cpse r24, r1
|
214: 81 11 cpse r24, r1
|
||||||
24a: fa cf rjmp .-12 ; 0x240 <_GLOBAL__sub_I_u+0x22>
|
216: fa cf rjmp .-12 ; 0x20c <_GLOBAL__sub_I_u+0x24>
|
||||||
#include <util/delay.h>
|
#include <util/delay.h>
|
||||||
|
|
||||||
template <typename Port>
|
template <typename Port>
|
||||||
class Led {
|
class Led {
|
||||||
public:
|
public:
|
||||||
Led() {
|
Led() {
|
||||||
24c: 10 92 94 00 sts 0x0094, r1
|
218: 10 92 7e 00 sts 0x007E, r1
|
||||||
250: 10 92 95 00 sts 0x0095, r1
|
21c: 10 92 7f 00 sts 0x007F, r1
|
||||||
254: 80 e1 ldi r24, 0x10 ; 16
|
220: 80 e1 ldi r24, 0x10 ; 16
|
||||||
256: e0 e6 ldi r30, 0x60 ; 96
|
222: e0 e6 ldi r30, 0x60 ; 96
|
||||||
258: f0 e0 ldi r31, 0x00 ; 0
|
224: f0 e0 ldi r31, 0x00 ; 0
|
||||||
25a: a6 e9 ldi r26, 0x96 ; 150
|
226: a0 e8 ldi r26, 0x80 ; 128
|
||||||
25c: b0 e0 ldi r27, 0x00 ; 0
|
228: b0 e0 ldi r27, 0x00 ; 0
|
||||||
25e: 01 90 ld r0, Z+
|
22a: 01 90 ld r0, Z+
|
||||||
260: 0d 92 st X+, r0
|
22c: 0d 92 st X+, r0
|
||||||
262: 8a 95 dec r24
|
22e: 8a 95 dec r24
|
||||||
264: e1 f7 brne .-8 ; 0x25e <_GLOBAL__sub_I_u+0x40>
|
230: e1 f7 brne .-8 ; 0x22a <_GLOBAL__sub_I_u+0x42>
|
||||||
|
|
||||||
static uint8_t pin() { return PINB; }
|
static uint8_t pin() { return PINB; }
|
||||||
static void pin(uint8_t v) { PINB = v; }
|
static void pin(uint8_t v) { PINB = v; }
|
||||||
|
|
||||||
static uint8_t dir() { return DDRB; }
|
static uint8_t dir() { return DDRB; }
|
||||||
static void dir(uint8_t v) { DDRB = v; }
|
static void dir(uint8_t v) { DDRB = v; }
|
||||||
266: 8f e7 ldi r24, 0x7F ; 127
|
232: 8f e7 ldi r24, 0x7F ; 127
|
||||||
268: 87 bb out 0x17, r24 ; 23
|
234: 87 bb out 0x17, r24 ; 23
|
||||||
// Clock value: 312,500 kHz
|
// Clock value: 312,500 kHz
|
||||||
// Mode: Normal top=0xFF
|
// Mode: Normal top=0xFF
|
||||||
// OC0A output: Disconnected
|
// OC0A output: Disconnected
|
||||||
// OC0B output: Disconnected
|
// OC0B output: Disconnected
|
||||||
// Timer Period: 0,8192 ms
|
// Timer Period: 0,8192 ms
|
||||||
TCCR0A=(0<<COM0A1) | (0<<COM0A0) | (0<<COM0B1) | (0<<COM0B0) | (0<<WGM01) | (0<<WGM00);
|
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);
|
TCCR0B=(0<<WGM02) | (0<<CS02) | (1<<CS01) | (1<<CS00);
|
||||||
26c: 83 e0 ldi r24, 0x03 ; 3
|
238: 83 e0 ldi r24, 0x03 ; 3
|
||||||
26e: 83 bf out 0x33, r24 ; 51
|
23a: 83 bf out 0x33, r24 ; 51
|
||||||
TCNT0=0x00;
|
TCNT0=0x00;
|
||||||
270: 12 be out 0x32, r1 ; 50
|
23c: 12 be out 0x32, r1 ; 50
|
||||||
OCR0A=0x00;
|
OCR0A=0x00;
|
||||||
272: 16 be out 0x36, r1 ; 54
|
23e: 16 be out 0x36, r1 ; 54
|
||||||
OCR0B=0x00;
|
OCR0B=0x00;
|
||||||
274: 1c be out 0x3c, r1 ; 60
|
240: 1c be out 0x3c, r1 ; 60
|
||||||
|
|
||||||
// Timer(s)/Counter(s) Interrupt(s) initialization
|
// Timer(s)/Counter(s) Interrupt(s) initialization
|
||||||
TIMSK=(0<<TOIE1) | (0<<OCIE1A) | (0<<OCIE1B) | (0<<ICIE1) | (0<<OCIE0B) | (1<<TOIE0) | (0<<OCIE0A);
|
TIMSK=(0<<TOIE1) | (0<<OCIE1A) | (0<<OCIE1B) | (0<<ICIE1) | (0<<OCIE0B) | (1<<TOIE0) | (0<<OCIE0A);
|
||||||
276: 82 e0 ldi r24, 0x02 ; 2
|
242: 82 e0 ldi r24, 0x02 ; 2
|
||||||
278: 89 bf out 0x39, r24 ; 57
|
244: 89 bf out 0x39, r24 ; 57
|
||||||
27a: 08 95 ret
|
246: 08 95 ret
|
||||||
|
|
||||||
0000027c <__tablejump2__>:
|
00000248 <__tablejump2__>:
|
||||||
27c: ee 0f add r30, r30
|
248: ee 0f add r30, r30
|
||||||
27e: ff 1f adc r31, r31
|
24a: ff 1f adc r31, r31
|
||||||
|
|
||||||
00000280 <__tablejump__>:
|
0000024c <__tablejump__>:
|
||||||
280: 05 90 lpm r0, Z+
|
24c: 05 90 lpm r0, Z+
|
||||||
282: f4 91 lpm r31, Z
|
24e: f4 91 lpm r31, Z
|
||||||
284: e0 2d mov r30, r0
|
250: e0 2d mov r30, r0
|
||||||
286: 09 94 ijmp
|
252: 09 94 ijmp
|
||||||
|
|
||||||
00000288 <_exit>:
|
00000254 <_exit>:
|
||||||
288: f8 94 cli
|
254: f8 94 cli
|
||||||
|
|
||||||
0000028a <__stop_program>:
|
00000256 <__stop_program>:
|
||||||
28a: ff cf rjmp .-2 ; 0x28a <__stop_program>
|
256: ff cf rjmp .-2 ; 0x256 <__stop_program>
|
||||||
|
@ -195,7 +195,7 @@ LOAD c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8
|
|||||||
.rela.plt
|
.rela.plt
|
||||||
*(.rela.plt)
|
*(.rela.plt)
|
||||||
|
|
||||||
.text 0x00000000 0x28c
|
.text 0x00000000 0x258
|
||||||
*(.vectors)
|
*(.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
|
.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
|
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 0x8c Zahl.o
|
||||||
0x00000090 __vector_6
|
0x00000090 __vector_6
|
||||||
.text.__vector_7
|
.text.__vector_7
|
||||||
0x0000011c 0x102 Zahl.o
|
0x0000011c 0xcc Zahl.o
|
||||||
0x0000011c __vector_7
|
0x0000011c __vector_7
|
||||||
.text.startup._GLOBAL__sub_I_u
|
.text.startup._GLOBAL__sub_I_u
|
||||||
0x0000021e 0x5e Zahl.o
|
0x000001e8 0x60 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)
|
.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)
|
||||||
0x0000027c __tablejump2__
|
0x00000248 __tablejump2__
|
||||||
0x00000280 __tablejump__
|
0x0000024c __tablejump__
|
||||||
0x00000288 . = ALIGN (0x2)
|
0x00000254 . = ALIGN (0x2)
|
||||||
*(.fini9)
|
*(.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)
|
.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)
|
||||||
0x00000288 _exit
|
0x00000254 _exit
|
||||||
0x00000288 exit
|
0x00000254 exit
|
||||||
*(.fini9)
|
*(.fini9)
|
||||||
*(.fini8)
|
*(.fini8)
|
||||||
*(.fini8)
|
*(.fini8)
|
||||||
@ -310,11 +310,11 @@ LOAD c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8
|
|||||||
*(.fini1)
|
*(.fini1)
|
||||||
*(.fini1)
|
*(.fini1)
|
||||||
*(.fini0)
|
*(.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)
|
*(.fini0)
|
||||||
0x0000028c _etext = .
|
0x00000258 _etext = .
|
||||||
|
|
||||||
.data 0x00800060 0x34 load address 0x0000028c
|
.data 0x00800060 0x1e load address 0x00000258
|
||||||
0x00800060 PROVIDE (__data_start, .)
|
0x00800060 PROVIDE (__data_start, .)
|
||||||
*(.data)
|
*(.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
|
.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 0x00800060 0x10 Zahl.o
|
||||||
*(.rodata*)
|
*(.rodata*)
|
||||||
.rodata.str1.1
|
.rodata.str1.1
|
||||||
0x00800070 0x24 Zahl.o
|
0x00800070 0xd Zahl.o
|
||||||
0x27 (size before relaxing)
|
0x10 (size before relaxing)
|
||||||
*(.gnu.linkonce.d*)
|
*(.gnu.linkonce.d*)
|
||||||
0x00800094 . = ALIGN (0x2)
|
0x0080007e . = ALIGN (0x2)
|
||||||
0x00800094 _edata = .
|
*fill* 0x0080007d 0x1
|
||||||
0x00800094 PROVIDE (__data_end, .)
|
0x0080007e _edata = .
|
||||||
|
0x0080007e PROVIDE (__data_end, .)
|
||||||
|
|
||||||
.bss 0x00800094 0x24
|
.bss 0x0080007e 0x24
|
||||||
0x00800094 PROVIDE (__bss_start, .)
|
0x0080007e PROVIDE (__bss_start, .)
|
||||||
*(.bss)
|
*(.bss)
|
||||||
.bss 0x00800094 0x24 Zahl.o
|
.bss 0x0080007e 0x24 Zahl.o
|
||||||
0x00800094 l
|
0x0080007e l
|
||||||
0x008000a6 u
|
0x00800090 u
|
||||||
*(.bss*)
|
*(.bss*)
|
||||||
*(COMMON)
|
*(COMMON)
|
||||||
0x008000b8 PROVIDE (__bss_end, .)
|
0x008000a2 PROVIDE (__bss_end, .)
|
||||||
0x0000028c __data_load_start = LOADADDR (.data)
|
0x00000258 __data_load_start = LOADADDR (.data)
|
||||||
0x000002c0 __data_load_end = (__data_load_start + SIZEOF (.data))
|
0x00000276 __data_load_end = (__data_load_start + SIZEOF (.data))
|
||||||
|
|
||||||
.noinit 0x008000b8 0x0
|
.noinit 0x008000a2 0x0
|
||||||
0x008000b8 PROVIDE (__noinit_start, .)
|
0x008000a2 PROVIDE (__noinit_start, .)
|
||||||
*(.noinit*)
|
*(.noinit*)
|
||||||
0x008000b8 PROVIDE (__noinit_end, .)
|
0x008000a2 PROVIDE (__noinit_end, .)
|
||||||
0x008000b8 _end = .
|
0x008000a2 _end = .
|
||||||
0x008000b8 PROVIDE (__heap_start, .)
|
0x008000a2 PROVIDE (__heap_start, .)
|
||||||
|
|
||||||
.eeprom 0x00810000 0x0
|
.eeprom 0x00810000 0x0
|
||||||
*(.eeprom*)
|
*(.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_pubnames)
|
*(.debug_pubnames)
|
||||||
|
|
||||||
.debug_info 0x00000000 0xbac
|
.debug_info 0x00000000 0xac4
|
||||||
*(.debug_info)
|
*(.debug_info)
|
||||||
.debug_info 0x00000000 0xbac Zahl.o
|
.debug_info 0x00000000 0xac4 Zahl.o
|
||||||
*(.gnu.linkonce.wi.*)
|
*(.gnu.linkonce.wi.*)
|
||||||
|
|
||||||
.debug_abbrev 0x00000000 0x369
|
.debug_abbrev 0x00000000 0x369
|
||||||
*(.debug_abbrev)
|
*(.debug_abbrev)
|
||||||
.debug_abbrev 0x00000000 0x369 Zahl.o
|
.debug_abbrev 0x00000000 0x369 Zahl.o
|
||||||
|
|
||||||
.debug_line 0x00000000 0x285
|
.debug_line 0x00000000 0x26b
|
||||||
*(.debug_line)
|
*(.debug_line)
|
||||||
.debug_line 0x00000000 0x285 Zahl.o
|
.debug_line 0x00000000 0x26b Zahl.o
|
||||||
|
|
||||||
.debug_frame 0x00000000 0xbc
|
.debug_frame 0x00000000 0xbc
|
||||||
*(.debug_frame)
|
*(.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
|
.debug_str 0x00000000 0x498 Zahl.o
|
||||||
0x4d1 (size before relaxing)
|
0x4d1 (size before relaxing)
|
||||||
|
|
||||||
.debug_loc 0x00000000 0x2b1
|
.debug_loc 0x00000000 0x26f
|
||||||
*(.debug_loc)
|
*(.debug_loc)
|
||||||
.debug_loc 0x00000000 0x2b1 Zahl.o
|
.debug_loc 0x00000000 0x26f Zahl.o
|
||||||
|
|
||||||
.debug_macinfo
|
.debug_macinfo
|
||||||
*(.debug_macinfo)
|
*(.debug_macinfo)
|
||||||
|
@ -1,47 +1,42 @@
|
|||||||
S00C00005A61686C2E7372656389
|
S00C00005A61686C2E7372656389
|
||||||
S113000013C035C034C033C032C031C041C086C013
|
S113000013C035C034C033C032C031C041C086C013
|
||||||
S11300102EC02DC02CC02BC02AC029C028C027C088
|
S11300102EC02DC02CC02BC02AC029C028C027C088
|
||||||
S113002026C025C024C00F0111241FBECFEDCDBFB3
|
S113002026C025C024C0F40011241FBECFEDCDBFCF
|
||||||
S113003010E0A0E6B0E0ECE8F2E002C005900D921A
|
S113003010E0A0E6B0E0E8E5F2E002C005900D9221
|
||||||
S1130040A439B107D9F720E0A4E9B0E001C01D92BA
|
S1130040AE37B107D9F720E0AEE7B0E001C01D92AA
|
||||||
S1130050A83BB207E1F710E0C8E2D0E003C0229762
|
S1130050A23AB207E1F710E0C8E2D0E003C0229769
|
||||||
S1130060FE010ED1C632D107D1F702D00DC1C8CFDF
|
S1130060FE01F4D0C632D107D1F702D0F3C0C8CF15
|
||||||
S113007078948091A7009091A60090939400809327
|
S11300707894809191009091900090937E00809369
|
||||||
S113008095008FE493EC0197F1F700C00000F1CFE5
|
S11300807F008FE493EC0197F1F700C00000F1CFFB
|
||||||
S11300901F920F920FB60F9211242F933F934F93F9
|
S11300901F920F920FB60F9211242F933F934F93F9
|
||||||
S11300A05F936F938F939F93EF93FF93809195004A
|
S11300A05F936F938F939F93EF93FF9380917F0060
|
||||||
S11300B0882399F080E0E0919400F0E0EC56FF4F43
|
S11300B0882399F080E0E0917E00F0E0E258FF4F61
|
||||||
S11300C0928198BB96E09A95F1F700C08F5F90916A
|
S11300C0928198BB96E09A95F1F700C08F5F90916A
|
||||||
S11300D09500891780F39F3F99F060E04FEF50E05F
|
S11300D07F00891780F39F3F99F060E04FEF50E075
|
||||||
S11300E018BAE6E0EA95F1F700C06F5F262F30E01A
|
S11300E018BAE6E0EA95F1F700C06F5F262F30E01A
|
||||||
S11300F080919500FA01E81BF1092E173F0784F35C
|
S11300F080917F00FA01E81BF1092E173F0784F372
|
||||||
S1130100FF91EF919F918F916F915F914F913F91EB
|
S1130100FF91EF919F918F916F915F914F913F91EB
|
||||||
S11301102F910F900FBE0F901F9018951F920F9262
|
S11301102F910F900FBE0F901F9018951F920F9262
|
||||||
S11301200FB60F9211242F933F934F938F939F9366
|
S11301200FB60F9211242F933F934F938F939F9366
|
||||||
S1130130EF93FF938CB18A3039F08D3029F0909190
|
S1130130EF93FF938CB18A30A9F08D3099F09091B0
|
||||||
S1130140A8009F3008F43FC08091A900843709F4C7
|
S113014092009F3078F4E0919200F0E0E057FF4F86
|
||||||
S113015060C08091A900843609F441C0EAE7F0E068
|
S11301508383909192009F5F909392005D9BFECF6A
|
||||||
S113016087E55D9BFECF8CB981918111FACF809197
|
S11301608CB913C0EBE7F0E08DE05D9BFECF8CB95A
|
||||||
S1130170A600805D5D9BFECF8CB9E1E7F0E080E2F4
|
S113017081918111FACF80919300843791F080911D
|
||||||
S11301805D9BFECF8CB981918111FACF8091A7003C
|
S113018093008436B9F010929200FF91EF919F9101
|
||||||
S1130190805D5D9BFECF8CB9E2E9F0E08DE05D9B74
|
S11301908F914F913F912F910F900FBE0F901F9011
|
||||||
S11301A0FECF8CB981918111FACF1092A800FF91F2
|
S11301A018958091940080538093900080919300DF
|
||||||
S11301B0EF919F918F914F913F912F910F900FBE8F
|
S11301B0843649F7309194004091950080919600DF
|
||||||
S11301C00F901F901895E091A800F0E0EA55FF4FBA
|
S11301C0805D232F220F230F922F9295990F907EFB
|
||||||
S11301D083838091A8008F5F8093A800E8CF30913B
|
S11301D0920F930F890F942F990F990F940F990FE2
|
||||||
S11301E0AA004091AB008091AC00805D232F220FC8
|
S11301E0890F80939100CFCF1092900082E3809387
|
||||||
S11301F0230F922F9295990F907E920F930F890F50
|
S11301F0910010929200789486E083B988E98AB9D4
|
||||||
S1130200942F990F990F940F990F890F8093A7003A
|
S113020012B881E889B9E1E7F0E085E55D9BFECFAE
|
||||||
S1130210A5CF8091AB0080538093A6009ACF109213
|
S11302108CB981918111FACF10927E0010927F00E7
|
||||||
S1130220A6001092A7001092A800789486E083B9E3
|
S113022080E1E0E6F0E0A0E8B0E001900D928A956C
|
||||||
S113023088E98AB912B881E889B9E8E8F0E085E587
|
S1130230E1F78FE787BB10BE83E083BF12BE16BE13
|
||||||
S11302405D9BFECF8CB981918111FACF10929400FD
|
S11302401CBE82E089BF0895EE0FFF1F0590F49154
|
||||||
S11302501092950080E1E0E6F0E0A6E9B0E00190BC
|
S10B0250E02D0994F894FFCF9E
|
||||||
S11302600D928A95E1F78FE787BB10BE83E083BFC9
|
S11302587B036E4F175D7D0B7F5F3F7578677C3C32
|
||||||
S113027012BE16BE1CBE82E089BF0895EE0FFF1F9A
|
S11102685561727420646F6E65210D0A0000EA
|
||||||
S10F02800590F491E02D0994F894FFCF50
|
|
||||||
S113028C7B036E4F175D7D0B7F5F3F7578677C3CFE
|
|
||||||
S113029C204C696768743A200057657274653A207B
|
|
||||||
S11302AC54696D653A20005561727420646F6E65F3
|
|
||||||
S10702BC210D0A0002
|
|
||||||
S9030000FC
|
S9030000FC
|
||||||
|
@ -12,7 +12,7 @@
|
|||||||
|
|
||||||
|
|
||||||
///////////////////////// UART ////////////////////////////////////
|
///////////////////////// UART ////////////////////////////////////
|
||||||
typedef Uart<9600, 2> uartclass;
|
typedef Uart<9600, 1> uartclass;
|
||||||
uartclass u;
|
uartclass u;
|
||||||
///////////////////////// LED /////////////////////////////////////
|
///////////////////////// LED /////////////////////////////////////
|
||||||
typedef Led<avrlib::portb> ledclass;
|
typedef Led<avrlib::portb> ledclass;
|
||||||
|
@ -40,20 +40,20 @@ class Uart {
|
|||||||
if( nextChar != '\n' && nextChar != '\r' && uart_str_count < UART_MAXSTRLEN) {
|
if( nextChar != '\n' && nextChar != '\r' && uart_str_count < UART_MAXSTRLEN) {
|
||||||
uart_string[uart_str_count] = nextChar;
|
uart_string[uart_str_count] = nextChar;
|
||||||
uart_str_count++;
|
uart_str_count++;
|
||||||
//send(nextChar);
|
send(nextChar);
|
||||||
} else {
|
} else {
|
||||||
//send("\r\n");
|
send("\r\n");
|
||||||
if(uart_string[0] == 't') {
|
if(uart_string[0] == 't') {
|
||||||
number = uart_string[diget]-0x30;
|
number = uart_string[diget]-0x30;
|
||||||
}
|
}
|
||||||
if(uart_string[0] == 'd') {
|
if(uart_string[0] == 'd') {
|
||||||
dimmer = (uart_string[1]-0x30)*100 + (uart_string[2]-0x30)*10 + (uart_string[3]-0x30)*1;
|
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(number+0x30);
|
||||||
send(" Light: ");
|
send(" Light: ");
|
||||||
send(dimmer+0x30);
|
send(dimmer+0x30);
|
||||||
send("\r\n");
|
send("\r\n");*/
|
||||||
uart_str_count = 0;
|
uart_str_count = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -65,7 +65,7 @@ class Uart {
|
|||||||
}
|
}
|
||||||
private:
|
private:
|
||||||
uint8_t number = 0;
|
uint8_t number = 0;
|
||||||
uint8_t dimmer = 0;
|
uint8_t dimmer = 50;
|
||||||
static const uint8_t UART_MAXSTRLEN = 15;
|
static const uint8_t UART_MAXSTRLEN = 15;
|
||||||
volatile uint8_t uart_str_count = 0;
|
volatile uint8_t uart_str_count = 0;
|
||||||
volatile char uart_string[UART_MAXSTRLEN];
|
volatile char uart_string[UART_MAXSTRLEN];
|
||||||
|
Loading…
Reference in New Issue
Block a user