This commit is contained in:
BlubbFish 2016-07-17 21:45:40 +00:00
parent b648e126e6
commit 9f492364f1
8 changed files with 422 additions and 385 deletions

Binary file not shown.

View File

@ -17,7 +17,7 @@ USBLaminator.d USBLaminator.o: .././USBLaminator.cpp .././peripheral.h \
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/include/util/delay_basic.h \ 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/include/util/delay_basic.h \
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/include/math.h \ 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/include/math.h \
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/include/avr/interrupt.h \ 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/include/avr/interrupt.h \
.././io/Usart.hpp .././io/Usart.hpp .././io/ADC.hpp
.././peripheral.h: .././peripheral.h:
@ -64,3 +64,5 @@ c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-
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/include/avr/interrupt.h: 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/include/avr/interrupt.h:
.././io/Usart.hpp: .././io/Usart.hpp:
.././io/ADC.hpp:

View File

@ -1,14 +1,14 @@
:100000000C942B000C9453000C9453000C9453004C :100000000C942B000C9453000C9453000C9453004C
:100010000C9453000C9453000C9451010C94530015 :100010000C9453000C9453000C945D010C94530009
:100020000C9453000C9453000C9453000C94530004 :100020000C9453000C9453000C9453000C94530004
:100030000C9453000C9453000C9453000C945300F4 :100030000C9453000C9453000C9453000C945300F4
:100040000C9453000C9453000C9453000C945300E4 :100040000C9453000C9453000C9453000C945300E4
:100050000C945300A80111241FBECFE5D4E0DEBFED :100050000C945300B40111241FBECFE5D4E0DEBFE1
:10006000CDBF11E0A0E6B0E0ECE7F3E002C0059000 :10006000CDBF11E0A0E6B0E0EAE9F3E002C0059000
:100070000D92A833B107D9F721E0A8E3B1E001C0A0 :100070000D92A833B107D9F721E0A8E3B1E001C0A0
:100080001D92AB33B207E1F710E0C6E5D0E004C043 :100080001D92AC33B207E1F710E0C6E5D0E004C042
:100090002297FE010E94B801C435D107C9F70E941A :100090002297FE010E94C701C435D107C9F70E940B
:1000A0004E010C94BC010C940000CF93C49ABC9AEE :1000A0005A010C94CB010C940000CF93C49ABC9AD3
:1000B000AA98A29AAB98A39AAC98A49AAD98A59A3C :1000B000AA98A29AAB98A39AAC98A49AAD98A59A3C
:1000C000AE98A69AAF98A79AE1E6F0E083E2C39AC9 :1000C000AE98A69AAF98A79AE1E6F0E083E2C39AC9
:1000D000BB9A5D9BFECF8CB9C398BB9A819181116D :1000D000BB9A5D9BFECF8CB9C398BB9A819181116D
@ -33,39 +33,41 @@
:1002000016BC81E68BBD88EA8ABD19BC18BC89B7CB :1002000016BC81E68BBD88EA8ABD19BC18BC89B7CB
:10021000806189BF7894ECEBF0E083E2C39ABB9AEB :10021000806189BF7894ECEBF0E083E2C39ABB9AEB
:100220005D9BFECF8CB9C398BB9A81918111F6CFAB :100220005D9BFECF8CB9C398BB9A81918111F6CFAB
:1002300025C0C39ABB9A5D9BFECF8CB9C398BB9A6D :1002300023C0C39ABB9A5D9BFECF8CB9C398BB9A6F
:1002400081918111F6CFE2EDF0E083E2C39ABB9A8F :1002400081918111F6CF20C0C39ABB9A5D9BFECFEE
:100250005D9BFECF8CB9C398BB9A81918111F6CF7B :100250008CB9C398BB9A81918111F6CF23C0C39A00
:1002600015C0C39ABB9A5D9BFECF8CB9C398BB9A4D :10026000BB9A5D9BFECF8CB9C398BB9A81918111DB
:1002700081918111F6CFC29ABA9A0EC0C498BC9AE5 :10027000F6CFC29ABA9A1CC0C498BC9AC39ABB9AC9
:10028000C39ABB9AE2EEF0E083E2D3CFC398BB9A65 :10028000E2EDF0E083E2D5CF379A2FEF81EE94E0F4
:10029000EFEEF0E083E2E5CFCF9108950E945500A4 :10029000215080409040E1F700C00000EFEDF0E019
:1002A000FFCF1F920F920FB60F9211248F939F933F :1002A00083E2D2CFC398BB9AEFEEF0E083E2D7CFE0
:1002B00095B384E0892785BB9F918F910F900FBEE6 :1002B000CF9108950E945500FFCF1F920F920FB665
:1002C0000F901F901895CF93DF931F92CDB7DEB795 :1002C0000F9211248F939F9395B384E0892785BB68
:1002D0006983BC9ABB9ABA9AC498BC9AC398BB9AD1 :1002D0009F918F910F900FBE0F901F901895CF9305
:1002E000C298BA9A1BB888E08AB986EA80BD10BC69 :1002E000DF931F92CDB7DEB76983BC9ABB9ABA9AE7
:1002F00089E189B9ECE2F1E085E5C39ABB9A5D9B9F :1002F000C498BC9AC398BB9AC298BA9A1BB888E0B3
:10030000FECF8CB9C398BB9A81918111F6CF0F9023 :100300008AB986EA80BD10BC89E189B9ECE2F1E0E6
:10031000DF91CF910895BC9ABB9ABA9AC498BC9ABF :1003100085E5C39ABB9A5D9BFECF8CB9C398BB9A07
:10032000C398BB9AC298BA9A0895A29AA39AA49A1B :1003200081918111F6CF0F90DF91CF910895BC9A02
:10033000A59AA69AA79AAA98A29AAB98A39AAC98BB :10033000BB9ABA9AC498BC9AC398BB9AC298BA9A04
:10034000A49AAD98A59AAE98A69AAF98A79A089540 :100340000895A29AA39AA49AA59AA69AA79AAA9857
:100350008AE391E00E948B0189E391E00E9495017C :10035000A29AAB98A39AAC98A49AAD98A59AAE9895
:1003600060E088E391E00E9463010895EE0FFF1FB3 :10036000A69AAF98A79A08958BE391E00E9497010F
:0C0370000590F491E02D0994F894FFCF63 :100370008AE391E00E94A10160E089E391E00E949C
:10037C002323232320426567696E20426F6F7475B7 :100380006F0184E086B917B80895EE0FFF1F05903E
:10038C0070202323232323232323232323232323E7 :0A039000F491E02D0994F894FFCFDA
:10039C002323232323232323232323232323232321 :10039A002323232320426567696E20426F6F747599
:1003AC0023232323232323232323230A002320541F :1003AA0070202323232323232323232323232323C9
:1003BC00657374204F75747075740A00232053652F :1003BA002323232323232323232323232323232303
:1003CC007475702054696D65720A002323204F7573 :1003CA0023232323232323232323230A0023205401
:1003DC007470757420496E697420446F6E65210ABF :1003DA00657374204F75747075740A002320536511
:1003EC00002320536574757020427574746F6E0A07 :1003EA007475702054696D65720A002323204F7555
:1003FC000023205365747570204144430A00232365 :1003FA007470757420496E697420446F6E65210AA1
:10040C00232320456E6420426F6F74757020232364 :10040A000023205365747570204144430A00232059
:10041C0023232323232323232323232323232323A0 :10041A00536574757020427574746F6E0A002323D5
:10042C002323232323232323232323232323232390 :10042A00232320456E6420426F6F74757020232346
:10043C002323232323232323230A005561727420AF :10043A002323232323232323232323232323232382
:08044C00646F6E65210A0000D7 :10044A002323232323232323232323232323232372
:10045A002323232323232323230A00556172742091
:08046A00646F6E65210A0000B9
:00000001FF :00000001FF

View File

@ -3,33 +3,33 @@ USBLaminator.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 0000037c 00000000 00000000 00000094 2**1 0 .text 0000039a 00000000 00000000 00000094 2**1
CONTENTS, ALLOC, LOAD, READONLY, CODE CONTENTS, ALLOC, LOAD, READONLY, CODE
1 .data 000000d8 00800060 0000037c 00000410 2**0 1 .data 000000d8 00800060 0000039a 0000042e 2**0
CONTENTS, ALLOC, LOAD, DATA CONTENTS, ALLOC, LOAD, DATA
2 .bss 00000003 00800138 00800138 000004e8 2**0 2 .bss 00000004 00800138 00800138 00000506 2**0
ALLOC ALLOC
3 .stab 000006cc 00000000 00000000 000004e8 2**2 3 .stab 000006cc 00000000 00000000 00000508 2**2
CONTENTS, READONLY, DEBUGGING CONTENTS, READONLY, DEBUGGING
4 .stabstr 00000082 00000000 00000000 00000bb4 2**0 4 .stabstr 00000082 00000000 00000000 00000bd4 2**0
CONTENTS, READONLY, DEBUGGING CONTENTS, READONLY, DEBUGGING
5 .comment 0000002f 00000000 00000000 00000c36 2**0 5 .comment 0000002f 00000000 00000000 00000c56 2**0
CONTENTS, READONLY CONTENTS, READONLY
6 .debug_aranges 00000050 00000000 00000000 00000c65 2**0 6 .debug_aranges 00000050 00000000 00000000 00000c85 2**0
CONTENTS, READONLY, DEBUGGING CONTENTS, READONLY, DEBUGGING
7 .debug_info 00003a03 00000000 00000000 00000cb5 2**0 7 .debug_info 00003b6a 00000000 00000000 00000cd5 2**0
CONTENTS, READONLY, DEBUGGING CONTENTS, READONLY, DEBUGGING
8 .debug_abbrev 000003fb 00000000 00000000 000046b8 2**0 8 .debug_abbrev 000003fb 00000000 00000000 0000483f 2**0
CONTENTS, READONLY, DEBUGGING CONTENTS, READONLY, DEBUGGING
9 .debug_line 0000048c 00000000 00000000 00004ab3 2**0 9 .debug_line 000004ac 00000000 00000000 00004c3a 2**0
CONTENTS, READONLY, DEBUGGING CONTENTS, READONLY, DEBUGGING
10 .debug_frame 000000b0 00000000 00000000 00004f40 2**2 10 .debug_frame 000000b0 00000000 00000000 000050e8 2**2
CONTENTS, READONLY, DEBUGGING CONTENTS, READONLY, DEBUGGING
11 .debug_str 00001252 00000000 00000000 00004ff0 2**0 11 .debug_str 00001293 00000000 00000000 00005198 2**0
CONTENTS, READONLY, DEBUGGING CONTENTS, READONLY, DEBUGGING
12 .debug_loc 0000055f 00000000 00000000 00006242 2**0 12 .debug_loc 000005d7 00000000 00000000 0000642b 2**0
CONTENTS, READONLY, DEBUGGING CONTENTS, READONLY, DEBUGGING
13 .debug_ranges 00000040 00000000 00000000 000067a1 2**0 13 .debug_ranges 00000040 00000000 00000000 00006a02 2**0
CONTENTS, READONLY, DEBUGGING CONTENTS, READONLY, DEBUGGING
Disassembly of section .text: Disassembly of section .text:
@ -41,7 +41,7 @@ Disassembly of section .text:
c: 0c 94 53 00 jmp 0xa6 ; 0xa6 <__bad_interrupt> c: 0c 94 53 00 jmp 0xa6 ; 0xa6 <__bad_interrupt>
10: 0c 94 53 00 jmp 0xa6 ; 0xa6 <__bad_interrupt> 10: 0c 94 53 00 jmp 0xa6 ; 0xa6 <__bad_interrupt>
14: 0c 94 53 00 jmp 0xa6 ; 0xa6 <__bad_interrupt> 14: 0c 94 53 00 jmp 0xa6 ; 0xa6 <__bad_interrupt>
18: 0c 94 51 01 jmp 0x2a2 ; 0x2a2 <__vector_6> 18: 0c 94 5d 01 jmp 0x2ba ; 0x2ba <__vector_6>
1c: 0c 94 53 00 jmp 0xa6 ; 0xa6 <__bad_interrupt> 1c: 0c 94 53 00 jmp 0xa6 ; 0xa6 <__bad_interrupt>
20: 0c 94 53 00 jmp 0xa6 ; 0xa6 <__bad_interrupt> 20: 0c 94 53 00 jmp 0xa6 ; 0xa6 <__bad_interrupt>
24: 0c 94 53 00 jmp 0xa6 ; 0xa6 <__bad_interrupt> 24: 0c 94 53 00 jmp 0xa6 ; 0xa6 <__bad_interrupt>
@ -58,7 +58,7 @@ Disassembly of section .text:
50: 0c 94 53 00 jmp 0xa6 ; 0xa6 <__bad_interrupt> 50: 0c 94 53 00 jmp 0xa6 ; 0xa6 <__bad_interrupt>
00000054 <__ctors_start>: 00000054 <__ctors_start>:
54: a8 01 movw r20, r16 54: b4 01 movw r22, r8
00000056 <__ctors_end>: 00000056 <__ctors_end>:
56: 11 24 eor r1, r1 56: 11 24 eor r1, r1
@ -72,7 +72,7 @@ Disassembly of section .text:
62: 11 e0 ldi r17, 0x01 ; 1 62: 11 e0 ldi r17, 0x01 ; 1
64: a0 e6 ldi r26, 0x60 ; 96 64: a0 e6 ldi r26, 0x60 ; 96
66: b0 e0 ldi r27, 0x00 ; 0 66: b0 e0 ldi r27, 0x00 ; 0
68: ec e7 ldi r30, 0x7C ; 124 68: ea e9 ldi r30, 0x9A ; 154
6a: f3 e0 ldi r31, 0x03 ; 3 6a: f3 e0 ldi r31, 0x03 ; 3
6c: 02 c0 rjmp .+4 ; 0x72 <__do_copy_data+0x10> 6c: 02 c0 rjmp .+4 ; 0x72 <__do_copy_data+0x10>
6e: 05 90 lpm r0, Z+ 6e: 05 90 lpm r0, Z+
@ -91,7 +91,7 @@ Disassembly of section .text:
80: 1d 92 st X+, r1 80: 1d 92 st X+, r1
00000082 <.do_clear_bss_start>: 00000082 <.do_clear_bss_start>:
82: ab 33 cpi r26, 0x3B ; 59 82: ac 33 cpi r26, 0x3C ; 60
84: b2 07 cpc r27, r18 84: b2 07 cpc r27, r18
86: e1 f7 brne .-8 ; 0x80 <.do_clear_bss_loop> 86: e1 f7 brne .-8 ; 0x80 <.do_clear_bss_loop>
@ -102,20 +102,20 @@ Disassembly of section .text:
8e: 04 c0 rjmp .+8 ; 0x98 <__do_global_ctors+0x10> 8e: 04 c0 rjmp .+8 ; 0x98 <__do_global_ctors+0x10>
90: 22 97 sbiw r28, 0x02 ; 2 90: 22 97 sbiw r28, 0x02 ; 2
92: fe 01 movw r30, r28 92: fe 01 movw r30, r28
94: 0e 94 b8 01 call 0x370 ; 0x370 <__tablejump__> 94: 0e 94 c7 01 call 0x38e ; 0x38e <__tablejump__>
98: c4 35 cpi r28, 0x54 ; 84 98: c4 35 cpi r28, 0x54 ; 84
9a: d1 07 cpc r29, r17 9a: d1 07 cpc r29, r17
9c: c9 f7 brne .-14 ; 0x90 <__do_global_ctors+0x8> 9c: c9 f7 brne .-14 ; 0x90 <__do_global_ctors+0x8>
9e: 0e 94 4e 01 call 0x29c ; 0x29c <main> 9e: 0e 94 5a 01 call 0x2b4 ; 0x2b4 <main>
a2: 0c 94 bc 01 jmp 0x378 ; 0x378 <_exit> a2: 0c 94 cb 01 jmp 0x396 ; 0x396 <_exit>
000000a6 <__bad_interrupt>: 000000a6 <__bad_interrupt>:
a6: 0c 94 00 00 jmp 0 ; 0x0 <__vectors> a6: 0c 94 00 00 jmp 0 ; 0x0 <__vectors>
000000aa <_Z5setupv>: 000000aa <_Z5setupv>:
ledclass l;
ssrclass o; ssrclass o;
usartclass r(l); usartclass r(l);
adcclass a;
void setup() void setup()
{ {
@ -919,7 +919,7 @@ namespace avrlib {
22a: 81 91 ld r24, Z+ 22a: 81 91 ld r24, Z+
22c: 81 11 cpse r24, r1 22c: 81 11 cpse r24, r1
22e: f6 cf rjmp .-20 ; 0x21c <_Z5setupv+0x172> 22e: f6 cf rjmp .-20 ; 0x21c <_Z5setupv+0x172>
230: 25 c0 rjmp .+74 ; 0x27c <_Z5setupv+0x1d2> 230: 23 c0 rjmp .+70 ; 0x278 <_Z5setupv+0x1ce>
namespace avrlib { namespace avrlib {
struct portb struct portb
@ -967,559 +967,589 @@ namespace avrlib {
240: 81 91 ld r24, Z+ 240: 81 91 ld r24, Z+
242: 81 11 cpse r24, r1 242: 81 11 cpse r24, r1
244: f6 cf rjmp .-20 ; 0x232 <_Z5setupv+0x188> 244: f6 cf rjmp .-20 ; 0x232 <_Z5setupv+0x188>
246: e2 ed ldi r30, 0xD2 ; 210 246: 20 c0 rjmp .+64 ; 0x288 <_Z5setupv+0x1de>
248: f0 e0 ldi r31, 0x00 ; 0
24a: 83 e2 ldi r24, 0x23 ; 35
namespace avrlib { namespace avrlib {
struct portb struct portb
{ {
static uint8_t port() { return PORTB; } static uint8_t port() { return PORTB; }
static void port(uint8_t v) { PORTB = v; } static void port(uint8_t v) { PORTB = v; }
24c: c3 9a sbi 0x18, 3 ; 24 248: c3 9a sbi 0x18, 3 ; 24
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; }
24e: bb 9a sbi 0x17, 3 ; 23 24a: bb 9a sbi 0x17, 3 ; 23
UBRRH = 0; UBRRH = 0;
UBRRL = (F_CPU / (baudrate * 16L) - 1); UBRRL = (F_CPU / (baudrate * 16L) - 1);
} }
uint8_t uart_putchar(uint8_t c) { uint8_t uart_putchar(uint8_t c) {
led.on(led.YELLOW); led.on(led.YELLOW);
loop_until_bit_is_set(UCSRA, UDRE); //Ausgabe des Zeichens loop_until_bit_is_set(UCSRA, UDRE); //Ausgabe des Zeichens
250: 5d 9b sbis 0x0b, 5 ; 11 24c: 5d 9b sbis 0x0b, 5 ; 11
252: fe cf rjmp .-4 ; 0x250 <_Z5setupv+0x1a6> 24e: fe cf rjmp .-4 ; 0x24c <_Z5setupv+0x1a2>
UDR = c; UDR = c;
254: 8c b9 out 0x0c, r24 ; 12 250: 8c b9 out 0x0c, r24 ; 12
namespace avrlib { namespace avrlib {
struct portb struct portb
{ {
static uint8_t port() { return PORTB; } static uint8_t port() { return PORTB; }
static void port(uint8_t v) { PORTB = v; } static void port(uint8_t v) { PORTB = v; }
256: c3 98 cbi 0x18, 3 ; 24 252: c3 98 cbi 0x18, 3 ; 24
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; }
258: bb 9a sbi 0x17, 3 ; 23 254: bb 9a sbi 0x17, 3 ; 23
init(); init();
this->led = l; this->led = l;
send("Uart done!\n"); send("Uart done!\n");
} }
void send(const char *text) { void send(const char *text) {
while (*text) while (*text)
25a: 81 91 ld r24, Z+ 256: 81 91 ld r24, Z+
25c: 81 11 cpse r24, r1 258: 81 11 cpse r24, r1
25e: f6 cf rjmp .-20 ; 0x24c <_Z5setupv+0x1a2> 25a: f6 cf rjmp .-20 ; 0x248 <_Z5setupv+0x19e>
260: 15 c0 rjmp .+42 ; 0x28c <_Z5setupv+0x1e2> 25c: 23 c0 rjmp .+70 ; 0x2a4 <_Z5setupv+0x1fa>
namespace avrlib { namespace avrlib {
struct portb struct portb
{ {
static uint8_t port() { return PORTB; } static uint8_t port() { return PORTB; }
static void port(uint8_t v) { PORTB = v; } static void port(uint8_t v) { PORTB = v; }
262: c3 9a sbi 0x18, 3 ; 24 25e: c3 9a sbi 0x18, 3 ; 24
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; }
264: bb 9a sbi 0x17, 3 ; 23 260: bb 9a sbi 0x17, 3 ; 23
UBRRH = 0; UBRRH = 0;
UBRRL = (F_CPU / (baudrate * 16L) - 1); UBRRL = (F_CPU / (baudrate * 16L) - 1);
} }
uint8_t uart_putchar(uint8_t c) { uint8_t uart_putchar(uint8_t c) {
led.on(led.YELLOW); led.on(led.YELLOW);
loop_until_bit_is_set(UCSRA, UDRE); //Ausgabe des Zeichens loop_until_bit_is_set(UCSRA, UDRE); //Ausgabe des Zeichens
266: 5d 9b sbis 0x0b, 5 ; 11 262: 5d 9b sbis 0x0b, 5 ; 11
268: fe cf rjmp .-4 ; 0x266 <_Z5setupv+0x1bc> 264: fe cf rjmp .-4 ; 0x262 <_Z5setupv+0x1b8>
UDR = c; UDR = c;
26a: 8c b9 out 0x0c, r24 ; 12 266: 8c b9 out 0x0c, r24 ; 12
namespace avrlib { namespace avrlib {
struct portb struct portb
{ {
static uint8_t port() { return PORTB; } static uint8_t port() { return PORTB; }
static void port(uint8_t v) { PORTB = v; } static void port(uint8_t v) { PORTB = v; }
26c: c3 98 cbi 0x18, 3 ; 24 268: c3 98 cbi 0x18, 3 ; 24
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; }
26e: bb 9a sbi 0x17, 3 ; 23 26a: bb 9a sbi 0x17, 3 ; 23
init(); init();
this->led = l; this->led = l;
send("Uart done!\n"); send("Uart done!\n");
} }
void send(const char *text) { void send(const char *text) {
while (*text) while (*text)
270: 81 91 ld r24, Z+ 26c: 81 91 ld r24, Z+
272: 81 11 cpse r24, r1 26e: 81 11 cpse r24, r1
274: f6 cf rjmp .-20 ; 0x262 <_Z5setupv+0x1b8> 270: f6 cf rjmp .-20 ; 0x25e <_Z5setupv+0x1b4>
namespace avrlib { namespace avrlib {
struct portb struct portb
{ {
static uint8_t port() { return PORTB; } static uint8_t port() { return PORTB; }
static void port(uint8_t v) { PORTB = v; } static void port(uint8_t v) { PORTB = v; }
276: c2 9a sbi 0x18, 2 ; 24 272: c2 9a sbi 0x18, 2 ; 24
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; }
278: ba 9a sbi 0x17, 2 ; 23 274: ba 9a sbi 0x17, 2 ; 23
27a: 0e c0 rjmp .+28 ; 0x298 <_Z5setupv+0x1ee> 276: 1c c0 rjmp .+56 ; 0x2b0 <_Z5setupv+0x206>
namespace avrlib { namespace avrlib {
struct portb struct portb
{ {
static uint8_t port() { return PORTB; } static uint8_t port() { return PORTB; }
static void port(uint8_t v) { PORTB = v; } static void port(uint8_t v) { PORTB = v; }
27c: c4 98 cbi 0x18, 4 ; 24 278: c4 98 cbi 0x18, 4 ; 24
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; }
27e: bc 9a sbi 0x17, 4 ; 23 27a: bc 9a sbi 0x17, 4 ; 23
namespace avrlib { namespace avrlib {
struct portb struct portb
{ {
static uint8_t port() { return PORTB; } static uint8_t port() { return PORTB; }
static void port(uint8_t v) { PORTB = v; } static void port(uint8_t v) { PORTB = v; }
280: c3 9a sbi 0x18, 3 ; 24 27c: c3 9a sbi 0x18, 3 ; 24
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; }
282: bb 9a sbi 0x17, 3 ; 23 27e: bb 9a sbi 0x17, 3 ; 23
284: e2 ee ldi r30, 0xE2 ; 226 280: e2 ed ldi r30, 0xD2 ; 210
286: f0 e0 ldi r31, 0x00 ; 0 282: f0 e0 ldi r31, 0x00 ; 0
288: 83 e2 ldi r24, 0x23 ; 35 284: 83 e2 ldi r24, 0x23 ; 35
28a: d3 cf rjmp .-90 ; 0x232 <_Z5setupv+0x188> 286: d5 cf rjmp .-86 ; 0x232 <_Z5setupv+0x188>
public:
Adc() {
init();
}
void on() {
ADCSRA |= (1<<ADEN);
288: 37 9a sbi 0x06, 7 ; 6
28a: 2f ef ldi r18, 0xFF ; 255
28c: 81 ee ldi r24, 0xE1 ; 225
28e: 94 e0 ldi r25, 0x04 ; 4
290: 21 50 subi r18, 0x01 ; 1
292: 80 40 sbci r24, 0x00 ; 0
294: 90 40 sbci r25, 0x00 ; 0
296: e1 f7 brne .-8 ; 0x290 <_Z5setupv+0x1e6>
298: 00 c0 rjmp .+0 ; 0x29a <_Z5setupv+0x1f0>
29a: 00 00 nop
29c: ef ed ldi r30, 0xDF ; 223
29e: f0 e0 ldi r31, 0x00 ; 0
2a0: 83 e2 ldi r24, 0x23 ; 35
2a2: d2 cf rjmp .-92 ; 0x248 <_Z5setupv+0x19e>
namespace avrlib { namespace avrlib {
struct portb struct portb
{ {
static uint8_t port() { return PORTB; } static uint8_t port() { return PORTB; }
static void port(uint8_t v) { PORTB = v; } static void port(uint8_t v) { PORTB = v; }
28c: c3 98 cbi 0x18, 3 ; 24 2a4: c3 98 cbi 0x18, 3 ; 24
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; }
28e: bb 9a sbi 0x17, 3 ; 23 2a6: bb 9a sbi 0x17, 3 ; 23
290: ef ee ldi r30, 0xEF ; 239 2a8: ef ee ldi r30, 0xEF ; 239
292: f0 e0 ldi r31, 0x00 ; 0 2aa: f0 e0 ldi r31, 0x00 ; 0
294: 83 e2 ldi r24, 0x23 ; 35 2ac: 83 e2 ldi r24, 0x23 ; 35
296: e5 cf rjmp .-54 ; 0x262 <_Z5setupv+0x1b8> 2ae: d7 cf rjmp .-82 ; 0x25e <_Z5setupv+0x1b4>
r.send("# Setup Button\n"); r.send("# Setup Button\n");
//button on //button on
l.off(l.YELLOW); l.off(l.YELLOW);
r.send("#### End Bootup ###########################################\n"); r.send("#### End Bootup ###########################################\n");
l.on(l.GREEN); l.on(l.GREEN);
} }
298: cf 91 pop r28 2b0: cf 91 pop r28
29a: 08 95 ret 2b2: 08 95 ret
0000029c <main>: 000002b4 <main>:
int main(void) int main(void)
{ {
setup(); setup();
29c: 0e 94 55 00 call 0xaa ; 0xaa <_Z5setupv> 2b4: 0e 94 55 00 call 0xaa ; 0xaa <_Z5setupv>
2a0: ff cf rjmp .-2 ; 0x2a0 <main+0x4> 2b8: ff cf rjmp .-2 ; 0x2b8 <main+0x4>
000002a2 <__vector_6>: 000002ba <__vector_6>:
{ {
} }
} }
ISR(TIMER1_COMPA_vect) { ISR(TIMER1_COMPA_vect) {
2a2: 1f 92 push r1 2ba: 1f 92 push r1
2a4: 0f 92 push r0 2bc: 0f 92 push r0
2a6: 0f b6 in r0, 0x3f ; 63 2be: 0f b6 in r0, 0x3f ; 63
2a8: 0f 92 push r0 2c0: 0f 92 push r0
2aa: 11 24 eor r1, r1 2c2: 11 24 eor r1, r1
2ac: 8f 93 push r24 2c4: 8f 93 push r24
2ae: 9f 93 push r25 2c6: 9f 93 push r25
namespace avrlib { namespace avrlib {
struct portc struct portc
{ {
static uint8_t port() { return PORTC; } static uint8_t port() { return PORTC; }
2b0: 95 b3 in r25, 0x15 ; 21 2c8: 95 b3 in r25, 0x15 ; 21
Port::port(Port::port() & ~(1<<Pin)); Port::port(Port::port() & ~(1<<Pin));
} }
static void clear() { set(false); } static void clear() { set(false); }
static void toggle() { Port::port(Port::port() ^ (1<<Pin)); } static void toggle() { Port::port(Port::port() ^ (1<<Pin)); }
2b2: 84 e0 ldi r24, 0x04 ; 4 2ca: 84 e0 ldi r24, 0x04 ; 4
2b4: 89 27 eor r24, r25 2cc: 89 27 eor r24, r25
static void port(uint8_t v) { PORTC = v; } static void port(uint8_t v) { PORTC = v; }
2b6: 85 bb out 0x15, r24 ; 21 2ce: 85 bb out 0x15, r24 ; 21
o.timer(); o.timer();
2b8: 9f 91 pop r25 2d0: 9f 91 pop r25
2ba: 8f 91 pop r24 2d2: 8f 91 pop r24
2bc: 0f 90 pop r0 2d4: 0f 90 pop r0
2be: 0f be out 0x3f, r0 ; 63 2d6: 0f be out 0x3f, r0 ; 63
2c0: 0f 90 pop r0 2d8: 0f 90 pop r0
2c2: 1f 90 pop r1 2da: 1f 90 pop r1
2c4: 18 95 reti 2dc: 18 95 reti
000002c6 <_ZN5UsartILm38400EN6avrlib5portdELi5ELi4ELi3EEC1E3LedINS0_5portbELi4ELi3ELi2EE>: 000002de <_ZN5UsartILm38400EN6avrlib5portdELi5ELi4ELi3EEC1E3LedINS0_5portbELi4ELi3ELi2EE>:
#define USART_H_ #define USART_H_
template <uint32_t baudrate, typename RSPort, int pin_rts, int pin_cts, int pin_pwren> template <uint32_t baudrate, typename RSPort, int pin_rts, int pin_cts, int pin_pwren>
class Usart { class Usart {
public: public:
Usart(ledclass l) { Usart(ledclass l) {
2c6: cf 93 push r28 2de: cf 93 push r28
2c8: df 93 push r29 2e0: df 93 push r29
2ca: 1f 92 push r1 2e2: 1f 92 push r1
2cc: cd b7 in r28, 0x3d ; 61 2e4: cd b7 in r28, 0x3d ; 61
2ce: de b7 in r29, 0x3e ; 62 2e6: de b7 in r29, 0x3e ; 62
2d0: 69 83 std Y+1, r22 ; 0x01 2e8: 69 83 std Y+1, r22 ; 0x01
2d2: bc 9a sbi 0x17, 4 ; 23 2ea: bc 9a sbi 0x17, 4 ; 23
2d4: bb 9a sbi 0x17, 3 ; 23 2ec: bb 9a sbi 0x17, 3 ; 23
2d6: ba 9a sbi 0x17, 2 ; 23 2ee: ba 9a sbi 0x17, 2 ; 23
namespace avrlib { namespace avrlib {
struct portb struct portb
{ {
static uint8_t port() { return PORTB; } static uint8_t port() { return PORTB; }
static void port(uint8_t v) { PORTB = v; } static void port(uint8_t v) { PORTB = v; }
2d8: c4 98 cbi 0x18, 4 ; 24 2f0: c4 98 cbi 0x18, 4 ; 24
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; }
2da: bc 9a sbi 0x17, 4 ; 23 2f2: bc 9a sbi 0x17, 4 ; 23
namespace avrlib { namespace avrlib {
struct portb struct portb
{ {
static uint8_t port() { return PORTB; } static uint8_t port() { return PORTB; }
static void port(uint8_t v) { PORTB = v; } static void port(uint8_t v) { PORTB = v; }
2dc: c3 98 cbi 0x18, 3 ; 24 2f4: c3 98 cbi 0x18, 3 ; 24
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; }
2de: bb 9a sbi 0x17, 3 ; 23 2f6: bb 9a sbi 0x17, 3 ; 23
namespace avrlib { namespace avrlib {
struct portb struct portb
{ {
static uint8_t port() { return PORTB; } static uint8_t port() { return PORTB; }
static void port(uint8_t v) { PORTB = v; } static void port(uint8_t v) { PORTB = v; }
2e0: c2 98 cbi 0x18, 2 ; 24 2f8: c2 98 cbi 0x18, 2 ; 24
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; }
2e2: ba 9a sbi 0x17, 2 ; 23 2fa: ba 9a sbi 0x17, 2 ; 23
private: private:
void init() { void init() {
//txd::make_output(); //txd::make_output();
//rxd::make_input(); //rxd::make_input();
UCSRA = 0; UCSRA = 0;
2e4: 1b b8 out 0x0b, r1 ; 11 2fc: 1b b8 out 0x0b, r1 ; 11
UCSRB = (1<<TXEN); UCSRB = (1<<TXEN);
2e6: 88 e0 ldi r24, 0x08 ; 8 2fe: 88 e0 ldi r24, 0x08 ; 8
2e8: 8a b9 out 0x0a, r24 ; 10 300: 8a b9 out 0x0a, r24 ; 10
UCSRC = (1<<URSEL) | (1<<UPM1) | (1<<UCSZ1) | (1<<UCSZ0); //8E1 UCSRC = (1<<URSEL) | (1<<UPM1) | (1<<UCSZ1) | (1<<UCSZ0); //8E1
2ea: 86 ea ldi r24, 0xA6 ; 166 302: 86 ea ldi r24, 0xA6 ; 166
2ec: 80 bd out 0x20, r24 ; 32 304: 80 bd out 0x20, r24 ; 32
UBRRH = 0; UBRRH = 0;
2ee: 10 bc out 0x20, r1 ; 32 306: 10 bc out 0x20, r1 ; 32
UBRRL = (F_CPU / (baudrate * 16L) - 1); UBRRL = (F_CPU / (baudrate * 16L) - 1);
2f0: 89 e1 ldi r24, 0x19 ; 25 308: 89 e1 ldi r24, 0x19 ; 25
2f2: 89 b9 out 0x09, r24 ; 9 30a: 89 b9 out 0x09, r24 ; 9
2f4: ec e2 ldi r30, 0x2C ; 44 30c: ec e2 ldi r30, 0x2C ; 44
2f6: f1 e0 ldi r31, 0x01 ; 1 30e: f1 e0 ldi r31, 0x01 ; 1
init(); init();
this->led = l; this->led = l;
send("Uart done!\n"); send("Uart done!\n");
} }
void send(const char *text) { void send(const char *text) {
while (*text) while (*text)
2f8: 85 e5 ldi r24, 0x55 ; 85 310: 85 e5 ldi r24, 0x55 ; 85
namespace avrlib { namespace avrlib {
struct portb struct portb
{ {
static uint8_t port() { return PORTB; } static uint8_t port() { return PORTB; }
static void port(uint8_t v) { PORTB = v; } static void port(uint8_t v) { PORTB = v; }
2fa: c3 9a sbi 0x18, 3 ; 24 312: c3 9a sbi 0x18, 3 ; 24
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; }
2fc: bb 9a sbi 0x17, 3 ; 23 314: bb 9a sbi 0x17, 3 ; 23
UBRRH = 0; UBRRH = 0;
UBRRL = (F_CPU / (baudrate * 16L) - 1); UBRRL = (F_CPU / (baudrate * 16L) - 1);
} }
uint8_t uart_putchar(uint8_t c) { uint8_t uart_putchar(uint8_t c) {
led.on(led.YELLOW); led.on(led.YELLOW);
loop_until_bit_is_set(UCSRA, UDRE); //Ausgabe des Zeichens loop_until_bit_is_set(UCSRA, UDRE); //Ausgabe des Zeichens
2fe: 5d 9b sbis 0x0b, 5 ; 11 316: 5d 9b sbis 0x0b, 5 ; 11
300: fe cf rjmp .-4 ; 0x2fe <_ZN5UsartILm38400EN6avrlib5portdELi5ELi4ELi3EEC1E3LedINS0_5portbELi4ELi3ELi2EE+0x38> 318: fe cf rjmp .-4 ; 0x316 <_ZN5UsartILm38400EN6avrlib5portdELi5ELi4ELi3EEC1E3LedINS0_5portbELi4ELi3ELi2EE+0x38>
UDR = c; UDR = c;
302: 8c b9 out 0x0c, r24 ; 12 31a: 8c b9 out 0x0c, r24 ; 12
namespace avrlib { namespace avrlib {
struct portb struct portb
{ {
static uint8_t port() { return PORTB; } static uint8_t port() { return PORTB; }
static void port(uint8_t v) { PORTB = v; } static void port(uint8_t v) { PORTB = v; }
304: c3 98 cbi 0x18, 3 ; 24 31c: c3 98 cbi 0x18, 3 ; 24
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; }
306: bb 9a sbi 0x17, 3 ; 23 31e: bb 9a sbi 0x17, 3 ; 23
init(); init();
this->led = l; this->led = l;
send("Uart done!\n"); send("Uart done!\n");
} }
void send(const char *text) { void send(const char *text) {
while (*text) while (*text)
308: 81 91 ld r24, Z+ 320: 81 91 ld r24, Z+
30a: 81 11 cpse r24, r1 322: 81 11 cpse r24, r1
30c: f6 cf rjmp .-20 ; 0x2fa <_ZN5UsartILm38400EN6avrlib5portdELi5ELi4ELi3EEC1E3LedINS0_5portbELi4ELi3ELi2EE+0x34> 324: f6 cf rjmp .-20 ; 0x312 <_ZN5UsartILm38400EN6avrlib5portdELi5ELi4ELi3EEC1E3LedINS0_5portbELi4ELi3ELi2EE+0x34>
public: public:
Usart(ledclass l) { Usart(ledclass l) {
init(); init();
this->led = l; this->led = l;
send("Uart done!\n"); send("Uart done!\n");
} }
30e: 0f 90 pop r0 326: 0f 90 pop r0
310: df 91 pop r29 328: df 91 pop r29
312: cf 91 pop r28 32a: cf 91 pop r28
314: 08 95 ret 32c: 08 95 ret
00000316 <_ZN3LedIN6avrlib5portbELi4ELi3ELi2EE4initEv>: 0000032e <_ZN3LedIN6avrlib5portbELi4ELi3ELi2EE4initEv>:
316: bc 9a sbi 0x17, 4 ; 23 32e: bc 9a sbi 0x17, 4 ; 23
318: bb 9a sbi 0x17, 3 ; 23 330: bb 9a sbi 0x17, 3 ; 23
31a: ba 9a sbi 0x17, 2 ; 23 332: ba 9a sbi 0x17, 2 ; 23
namespace avrlib { namespace avrlib {
struct portb struct portb
{ {
static uint8_t port() { return PORTB; } static uint8_t port() { return PORTB; }
static void port(uint8_t v) { PORTB = v; } static void port(uint8_t v) { PORTB = v; }
31c: c4 98 cbi 0x18, 4 ; 24 334: c4 98 cbi 0x18, 4 ; 24
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; }
31e: bc 9a sbi 0x17, 4 ; 23 336: bc 9a sbi 0x17, 4 ; 23
namespace avrlib { namespace avrlib {
struct portb struct portb
{ {
static uint8_t port() { return PORTB; } static uint8_t port() { return PORTB; }
static void port(uint8_t v) { PORTB = v; } static void port(uint8_t v) { PORTB = v; }
320: c3 98 cbi 0x18, 3 ; 24 338: c3 98 cbi 0x18, 3 ; 24
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; }
322: bb 9a sbi 0x17, 3 ; 23 33a: bb 9a sbi 0x17, 3 ; 23
namespace avrlib { namespace avrlib {
struct portb struct portb
{ {
static uint8_t port() { return PORTB; } static uint8_t port() { return PORTB; }
static void port(uint8_t v) { PORTB = v; } static void port(uint8_t v) { PORTB = v; }
324: c2 98 cbi 0x18, 2 ; 24 33c: c2 98 cbi 0x18, 2 ; 24
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; }
326: ba 9a sbi 0x17, 2 ; 23 33e: ba 9a sbi 0x17, 2 ; 23
328: 08 95 ret 340: 08 95 ret
0000032a <_ZN3SSRIN6avrlib5portcELi2ELi3ELi4ELi5ELi6ELi7EE4initEv>: 00000342 <_ZN3SSRIN6avrlib5portcELi2ELi3ELi4ELi5ELi6ELi7EE4initEv>:
static uint8_t pin() { return PINC; }
static void pin(uint8_t v) { PINC = v; }
static uint8_t dir() { return DDRC; }
static void dir(uint8_t v) { DDRC = v; }
32a: a2 9a sbi 0x14, 2 ; 20
32c: a3 9a sbi 0x14, 3 ; 20
32e: a4 9a sbi 0x14, 4 ; 20
330: a5 9a sbi 0x14, 5 ; 20
332: a6 9a sbi 0x14, 6 ; 20
334: a7 9a sbi 0x14, 7 ; 20
namespace avrlib {
struct portc
{
static uint8_t port() { return PORTC; }
static void port(uint8_t v) { PORTC = v; }
336: aa 98 cbi 0x15, 2 ; 21
static uint8_t pin() { return PINC; }
static void pin(uint8_t v) { PINC = v; }
static uint8_t dir() { return DDRC; }
static void dir(uint8_t v) { DDRC = v; }
338: a2 9a sbi 0x14, 2 ; 20
namespace avrlib {
struct portc
{
static uint8_t port() { return PORTC; }
static void port(uint8_t v) { PORTC = v; }
33a: ab 98 cbi 0x15, 3 ; 21
static uint8_t pin() { return PINC; }
static void pin(uint8_t v) { PINC = v; }
static uint8_t dir() { return DDRC; }
static void dir(uint8_t v) { DDRC = v; }
33c: a3 9a sbi 0x14, 3 ; 20
namespace avrlib {
struct portc
{
static uint8_t port() { return PORTC; }
static void port(uint8_t v) { PORTC = v; }
33e: ac 98 cbi 0x15, 4 ; 21
static uint8_t pin() { return PINC; }
static void pin(uint8_t v) { PINC = v; }
static uint8_t dir() { return DDRC; }
static void dir(uint8_t v) { DDRC = v; }
340: a4 9a sbi 0x14, 4 ; 20
namespace avrlib {
struct portc
{
static uint8_t port() { return PORTC; }
static void port(uint8_t v) { PORTC = v; }
342: ad 98 cbi 0x15, 5 ; 21
static uint8_t pin() { return PINC; }
static void pin(uint8_t v) { PINC = v; }
static uint8_t dir() { return DDRC; }
static void dir(uint8_t v) { DDRC = v; }
344: a5 9a sbi 0x14, 5 ; 20
namespace avrlib {
struct portc
{
static uint8_t port() { return PORTC; }
static void port(uint8_t v) { PORTC = v; }
346: ae 98 cbi 0x15, 6 ; 21
static uint8_t pin() { return PINC; }
static void pin(uint8_t v) { PINC = v; }
static uint8_t dir() { return DDRC; }
static void dir(uint8_t v) { DDRC = v; }
348: a6 9a sbi 0x14, 6 ; 20
namespace avrlib {
struct portc
{
static uint8_t port() { return PORTC; }
static void port(uint8_t v) { PORTC = v; }
34a: af 98 cbi 0x15, 7 ; 21
static uint8_t pin() { return PINC; } static uint8_t pin() { return PINC; }
static void pin(uint8_t v) { PINC = v; } static void pin(uint8_t v) { PINC = v; }
static uint8_t dir() { return DDRC; } static uint8_t dir() { return DDRC; }
static void dir(uint8_t v) { DDRC = v; } static void dir(uint8_t v) { DDRC = v; }
342: a2 9a sbi 0x14, 2 ; 20
344: a3 9a sbi 0x14, 3 ; 20
346: a4 9a sbi 0x14, 4 ; 20
348: a5 9a sbi 0x14, 5 ; 20
34a: a6 9a sbi 0x14, 6 ; 20
34c: a7 9a sbi 0x14, 7 ; 20 34c: a7 9a sbi 0x14, 7 ; 20
34e: 08 95 ret namespace avrlib {
00000350 <_GLOBAL__sub_I_l>: struct portc
{
static uint8_t port() { return PORTC; }
static void port(uint8_t v) { PORTC = v; }
34e: aa 98 cbi 0x15, 2 ; 21
static uint8_t pin() { return PINC; }
static void pin(uint8_t v) { PINC = v; }
static uint8_t dir() { return DDRC; }
static void dir(uint8_t v) { DDRC = v; }
350: a2 9a sbi 0x14, 2 ; 20
namespace avrlib {
struct portc
{
static uint8_t port() { return PORTC; }
static void port(uint8_t v) { PORTC = v; }
352: ab 98 cbi 0x15, 3 ; 21
static uint8_t pin() { return PINC; }
static void pin(uint8_t v) { PINC = v; }
static uint8_t dir() { return DDRC; }
static void dir(uint8_t v) { DDRC = v; }
354: a3 9a sbi 0x14, 3 ; 20
namespace avrlib {
struct portc
{
static uint8_t port() { return PORTC; }
static void port(uint8_t v) { PORTC = v; }
356: ac 98 cbi 0x15, 4 ; 21
static uint8_t pin() { return PINC; }
static void pin(uint8_t v) { PINC = v; }
static uint8_t dir() { return DDRC; }
static void dir(uint8_t v) { DDRC = v; }
358: a4 9a sbi 0x14, 4 ; 20
namespace avrlib {
struct portc
{
static uint8_t port() { return PORTC; }
static void port(uint8_t v) { PORTC = v; }
35a: ad 98 cbi 0x15, 5 ; 21
static uint8_t pin() { return PINC; }
static void pin(uint8_t v) { PINC = v; }
static uint8_t dir() { return DDRC; }
static void dir(uint8_t v) { DDRC = v; }
35c: a5 9a sbi 0x14, 5 ; 20
namespace avrlib {
struct portc
{
static uint8_t port() { return PORTC; }
static void port(uint8_t v) { PORTC = v; }
35e: ae 98 cbi 0x15, 6 ; 21
static uint8_t pin() { return PINC; }
static void pin(uint8_t v) { PINC = v; }
static uint8_t dir() { return DDRC; }
static void dir(uint8_t v) { DDRC = v; }
360: a6 9a sbi 0x14, 6 ; 20
namespace avrlib {
struct portc
{
static uint8_t port() { return PORTC; }
static void port(uint8_t v) { PORTC = v; }
362: af 98 cbi 0x15, 7 ; 21
static uint8_t pin() { return PINC; }
static void pin(uint8_t v) { PINC = v; }
static uint8_t dir() { return DDRC; }
static void dir(uint8_t v) { DDRC = v; }
364: a7 9a sbi 0x14, 7 ; 20
366: 08 95 ret
00000368 <_GLOBAL__sub_I_l>:
template <typename Port, int pin_red, int pin_yellow, int pin_green> template <typename Port, int pin_red, int pin_yellow, int pin_green>
class Led { class Led {
public: public:
Led() { Led() {
init(); init();
350: 8a e3 ldi r24, 0x3A ; 58 368: 8b e3 ldi r24, 0x3B ; 59
352: 91 e0 ldi r25, 0x01 ; 1 36a: 91 e0 ldi r25, 0x01 ; 1
354: 0e 94 8b 01 call 0x316 ; 0x316 <_ZN3LedIN6avrlib5portbELi4ELi3ELi2EE4initEv> 36c: 0e 94 97 01 call 0x32e ; 0x32e <_ZN3LedIN6avrlib5portbELi4ELi3ELi2EE4initEv>
template <typename Port, int pin_out1, int pin_out2, int pin_out3, int pin_out4, int pin_out5, int pin_out6> template <typename Port, int pin_out1, int pin_out2, int pin_out3, int pin_out4, int pin_out5, int pin_out6>
class SSR { class SSR {
public: public:
SSR() { SSR() {
init(); init();
358: 89 e3 ldi r24, 0x39 ; 57 370: 8a e3 ldi r24, 0x3A ; 58
35a: 91 e0 ldi r25, 0x01 ; 1 372: 91 e0 ldi r25, 0x01 ; 1
35c: 0e 94 95 01 call 0x32a ; 0x32a <_ZN3SSRIN6avrlib5portcELi2ELi3ELi4ELi5ELi6ELi7EE4initEv> 374: 0e 94 a1 01 call 0x342 ; 0x342 <_ZN3SSRIN6avrlib5portcELi2ELi3ELi4ELi5ELi6ELi7EE4initEv>
#include "peripheral.h" #include "peripheral.h"
ledclass l; ledclass l;
ssrclass o; ssrclass o;
usartclass r(l); usartclass r(l);
360: 60 e0 ldi r22, 0x00 ; 0 378: 60 e0 ldi r22, 0x00 ; 0
362: 88 e3 ldi r24, 0x38 ; 56 37a: 89 e3 ldi r24, 0x39 ; 57
364: 91 e0 ldi r25, 0x01 ; 1 37c: 91 e0 ldi r25, 0x01 ; 1
366: 0e 94 63 01 call 0x2c6 ; 0x2c6 <_ZN5UsartILm38400EN6avrlib5portdELi5ELi4ELi3EEC1E3LedINS0_5portbELi4ELi3ELi2EE> 37e: 0e 94 6f 01 call 0x2de ; 0x2de <_ZN5UsartILm38400EN6avrlib5portdELi5ELi4ELi3EEC1E3LedINS0_5portbELi4ELi3ELi2EE>
36a: 08 95 ret _delay_ms(100);
}
private:
void init() {
ADCSRA = (1<<ADPS2);
382: 84 e0 ldi r24, 0x04 ; 4
384: 86 b9 out 0x06, r24 ; 6
if(avcc) {
ADMUX = (1<<REFS0);
} else {
ADMUX = 0;
386: 17 b8 out 0x07, r1 ; 7
388: 08 95 ret
0000036c <__tablejump2__>: 0000038a <__tablejump2__>:
36c: ee 0f add r30, r30 38a: ee 0f add r30, r30
36e: ff 1f adc r31, r31 38c: ff 1f adc r31, r31
00000370 <__tablejump__>: 0000038e <__tablejump__>:
370: 05 90 lpm r0, Z+ 38e: 05 90 lpm r0, Z+
372: f4 91 lpm r31, Z 390: f4 91 lpm r31, Z
374: e0 2d mov r30, r0 392: e0 2d mov r30, r0
376: 09 94 ijmp 394: 09 94 ijmp
00000378 <_exit>: 00000396 <_exit>:
378: f8 94 cli 396: f8 94 cli
0000037a <__stop_program>: 00000398 <__stop_program>:
37a: ff cf rjmp .-2 ; 0x37a <__stop_program> 398: ff cf rjmp .-2 ; 0x398 <__stop_program>

View File

@ -198,7 +198,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 0x37c .text 0x00000000 0x39a
*(.vectors) *(.vectors)
.vectors 0x00000000 0x54 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/avr5/crtm16a.o .vectors 0x00000000 0x54 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/avr5/crtm16a.o
0x00000000 __vector_default 0x00000000 __vector_default
@ -280,33 +280,33 @@ LOAD c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8
0x000000aa . = ALIGN (0x2) 0x000000aa . = ALIGN (0x2)
*(.text.*) *(.text.*)
.text._Z5setupv .text._Z5setupv
0x000000aa 0x1f2 USBLaminator.o 0x000000aa 0x20a USBLaminator.o
0x000000aa _Z5setupv 0x000000aa _Z5setupv
.text.main 0x0000029c 0x6 USBLaminator.o .text.main 0x000002b4 0x6 USBLaminator.o
0x0000029c main 0x000002b4 main
.text.__vector_6 .text.__vector_6
0x000002a2 0x24 USBLaminator.o 0x000002ba 0x24 USBLaminator.o
0x000002a2 __vector_6 0x000002ba __vector_6
.text._ZN5UsartILm38400EN6avrlib5portdELi5ELi4ELi3EEC2E3LedINS0_5portbELi4ELi3ELi2EE .text._ZN5UsartILm38400EN6avrlib5portdELi5ELi4ELi3EEC2E3LedINS0_5portbELi4ELi3ELi2EE
0x000002c6 0x50 USBLaminator.o 0x000002de 0x50 USBLaminator.o
0x000002c6 _ZN5UsartILm38400EN6avrlib5portdELi5ELi4ELi3EEC1E3LedINS0_5portbELi4ELi3ELi2EE 0x000002de _ZN5UsartILm38400EN6avrlib5portdELi5ELi4ELi3EEC1E3LedINS0_5portbELi4ELi3ELi2EE
0x000002c6 _ZN5UsartILm38400EN6avrlib5portdELi5ELi4ELi3EEC2E3LedINS0_5portbELi4ELi3ELi2EE 0x000002de _ZN5UsartILm38400EN6avrlib5portdELi5ELi4ELi3EEC2E3LedINS0_5portbELi4ELi3ELi2EE
.text._ZN3LedIN6avrlib5portbELi4ELi3ELi2EE4initEv .text._ZN3LedIN6avrlib5portbELi4ELi3ELi2EE4initEv
0x00000316 0x14 USBLaminator.o 0x0000032e 0x14 USBLaminator.o
0x00000316 _ZN3LedIN6avrlib5portbELi4ELi3ELi2EE4initEv 0x0000032e _ZN3LedIN6avrlib5portbELi4ELi3ELi2EE4initEv
.text._ZN3SSRIN6avrlib5portcELi2ELi3ELi4ELi5ELi6ELi7EE4initEv .text._ZN3SSRIN6avrlib5portcELi2ELi3ELi4ELi5ELi6ELi7EE4initEv
0x0000032a 0x26 USBLaminator.o 0x00000342 0x26 USBLaminator.o
0x0000032a _ZN3SSRIN6avrlib5portcELi2ELi3ELi4ELi5ELi6ELi7EE4initEv 0x00000342 _ZN3SSRIN6avrlib5portcELi2ELi3ELi4ELi5ELi6ELi7EE4initEv
.text._GLOBAL__sub_I_l .text._GLOBAL__sub_I_l
0x00000350 0x1c USBLaminator.o 0x00000368 0x22 USBLaminator.o
.text.libgcc 0x0000036c 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/avr5\libgcc.a(_tablejump.o) .text.libgcc 0x0000038a 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/avr5\libgcc.a(_tablejump.o)
0x0000036c __tablejump2__ 0x0000038a __tablejump2__
0x00000370 __tablejump__ 0x0000038e __tablejump__
0x00000378 . = ALIGN (0x2) 0x00000396 . = ALIGN (0x2)
*(.fini9) *(.fini9)
.fini9 0x00000378 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/avr5\libgcc.a(_exit.o) .fini9 0x00000396 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/avr5\libgcc.a(_exit.o)
0x00000378 _exit 0x00000396 _exit
0x00000378 exit 0x00000396 exit
*(.fini9) *(.fini9)
*(.fini8) *(.fini8)
*(.fini8) *(.fini8)
@ -325,11 +325,11 @@ LOAD c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8
*(.fini1) *(.fini1)
*(.fini1) *(.fini1)
*(.fini0) *(.fini0)
.fini0 0x00000378 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/avr5\libgcc.a(_exit.o) .fini0 0x00000396 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/avr5\libgcc.a(_exit.o)
*(.fini0) *(.fini0)
0x0000037c _etext = . 0x0000039a _etext = .
.data 0x00800060 0xd8 load address 0x0000037c .data 0x00800060 0xd8 load address 0x0000039a
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/avr5/crtm16a.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/avr5/crtm16a.o
@ -350,25 +350,26 @@ LOAD c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8
0x00800138 _edata = . 0x00800138 _edata = .
0x00800138 PROVIDE (__data_end, .) 0x00800138 PROVIDE (__data_end, .)
.bss 0x00800138 0x3 .bss 0x00800138 0x4
0x00800138 PROVIDE (__bss_start, .) 0x00800138 PROVIDE (__bss_start, .)
*(.bss) *(.bss)
.bss 0x00800138 0x3 USBLaminator.o .bss 0x00800138 0x4 USBLaminator.o
0x00800138 r 0x00800138 a
0x00800139 o 0x00800139 r
0x0080013a l 0x0080013a o
0x0080013b l
*(.bss*) *(.bss*)
*(COMMON) *(COMMON)
0x0080013b PROVIDE (__bss_end, .) 0x0080013c PROVIDE (__bss_end, .)
0x0000037c __data_load_start = LOADADDR (.data) 0x0000039a __data_load_start = LOADADDR (.data)
0x00000454 __data_load_end = (__data_load_start + SIZEOF (.data)) 0x00000472 __data_load_end = (__data_load_start + SIZEOF (.data))
.noinit 0x0080013b 0x0 .noinit 0x0080013c 0x0
0x0080013b PROVIDE (__noinit_start, .) 0x0080013c PROVIDE (__noinit_start, .)
*(.noinit*) *(.noinit*)
0x0080013b PROVIDE (__noinit_end, .) 0x0080013c PROVIDE (__noinit_end, .)
0x0080013b _end = . 0x0080013c _end = .
0x0080013b PROVIDE (__heap_start, .) 0x0080013c PROVIDE (__heap_start, .)
.eeprom 0x00810000 0x0 .eeprom 0x00810000 0x0
*(.eeprom*) *(.eeprom*)
@ -434,31 +435,31 @@ 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 0x3a03 .debug_info 0x00000000 0x3b6a
*(.debug_info) *(.debug_info)
.debug_info 0x00000000 0x3a03 USBLaminator.o .debug_info 0x00000000 0x3b6a USBLaminator.o
*(.gnu.linkonce.wi.*) *(.gnu.linkonce.wi.*)
.debug_abbrev 0x00000000 0x3fb .debug_abbrev 0x00000000 0x3fb
*(.debug_abbrev) *(.debug_abbrev)
.debug_abbrev 0x00000000 0x3fb USBLaminator.o .debug_abbrev 0x00000000 0x3fb USBLaminator.o
.debug_line 0x00000000 0x48c .debug_line 0x00000000 0x4ac
*(.debug_line) *(.debug_line)
.debug_line 0x00000000 0x48c USBLaminator.o .debug_line 0x00000000 0x4ac USBLaminator.o
.debug_frame 0x00000000 0xb0 .debug_frame 0x00000000 0xb0
*(.debug_frame) *(.debug_frame)
.debug_frame 0x00000000 0xb0 USBLaminator.o .debug_frame 0x00000000 0xb0 USBLaminator.o
.debug_str 0x00000000 0x1252 .debug_str 0x00000000 0x1293
*(.debug_str) *(.debug_str)
.debug_str 0x00000000 0x1252 USBLaminator.o .debug_str 0x00000000 0x1293 USBLaminator.o
0x12a2 (size before relaxing) 0x12e3 (size before relaxing)
.debug_loc 0x00000000 0x55f .debug_loc 0x00000000 0x5d7
*(.debug_loc) *(.debug_loc)
.debug_loc 0x00000000 0x55f USBLaminator.o .debug_loc 0x00000000 0x5d7 USBLaminator.o
.debug_macinfo .debug_macinfo
*(.debug_macinfo) *(.debug_macinfo)

View File

@ -1,15 +1,15 @@
S01400005553424C616D696E61746F722E737265637F S01400005553424C616D696E61746F722E737265637F
S11300000C942B000C9453000C9453000C94530048 S11300000C942B000C9453000C9453000C94530048
S11300100C9453000C9453000C9451010C94530011 S11300100C9453000C9453000C945D010C94530005
S11300200C9453000C9453000C9453000C94530000 S11300200C9453000C9453000C9453000C94530000
S11300300C9453000C9453000C9453000C945300F0 S11300300C9453000C9453000C9453000C945300F0
S11300400C9453000C9453000C9453000C945300E0 S11300400C9453000C9453000C9453000C945300E0
S11300500C945300A80111241FBECFE5D4E0DEBFE9 S11300500C945300B40111241FBECFE5D4E0DEBFDD
S1130060CDBF11E0A0E6B0E0ECE7F3E002C00590FC S1130060CDBF11E0A0E6B0E0EAE9F3E002C00590FC
S11300700D92A833B107D9F721E0A8E3B1E001C09C S11300700D92A833B107D9F721E0A8E3B1E001C09C
S11300801D92AB33B207E1F710E0C6E5D0E004C03F S11300801D92AC33B207E1F710E0C6E5D0E004C03E
S11300902297FE010E94B801C435D107C9F70E9416 S11300902297FE010E94C701C435D107C9F70E9407
S11300A04E010C94BC010C940000CF93C49ABC9AEA S11300A05A010C94CB010C940000CF93C49ABC9ACF
S11300B0AA98A29AAB98A39AAC98A49AAD98A59A38 S11300B0AA98A29AAB98A39AAC98A49AAD98A59A38
S11300C0AE98A69AAF98A79AE1E6F0E083E2C39AC5 S11300C0AE98A69AAF98A79AE1E6F0E083E2C39AC5
S11300D0BB9A5D9BFECF8CB9C398BB9A8191811169 S11300D0BB9A5D9BFECF8CB9C398BB9A8191811169
@ -34,39 +34,41 @@ S11301F0F6CF1FBC8EB58B608EBD1DBC1CBC17BC5E
S113020016BC81E68BBD88EA8ABD19BC18BC89B7C7 S113020016BC81E68BBD88EA8ABD19BC18BC89B7C7
S1130210806189BF7894ECEBF0E083E2C39ABB9AE7 S1130210806189BF7894ECEBF0E083E2C39ABB9AE7
S11302205D9BFECF8CB9C398BB9A81918111F6CFA7 S11302205D9BFECF8CB9C398BB9A81918111F6CFA7
S113023025C0C39ABB9A5D9BFECF8CB9C398BB9A69 S113023023C0C39ABB9A5D9BFECF8CB9C398BB9A6B
S113024081918111F6CFE2EDF0E083E2C39ABB9A8B S113024081918111F6CF20C0C39ABB9A5D9BFECFEA
S11302505D9BFECF8CB9C398BB9A81918111F6CF77 S11302508CB9C398BB9A81918111F6CF23C0C39AFC
S113026015C0C39ABB9A5D9BFECF8CB9C398BB9A49 S1130260BB9A5D9BFECF8CB9C398BB9A81918111D7
S113027081918111F6CFC29ABA9A0EC0C498BC9AE1 S1130270F6CFC29ABA9A1CC0C498BC9AC39ABB9AC5
S1130280C39ABB9AE2EEF0E083E2D3CFC398BB9A61 S1130280E2EDF0E083E2D5CF379A2FEF81EE94E0F0
S1130290EFEEF0E083E2E5CFCF9108950E945500A0 S1130290215080409040E1F700C00000EFEDF0E015
S11302A0FFCF1F920F920FB60F9211248F939F933B S11302A083E2D2CFC398BB9AEFEEF0E083E2D7CFDC
S11302B095B384E0892785BB9F918F910F900FBEE2 S11302B0CF9108950E945500FFCF1F920F920FB661
S11302C00F901F901895CF93DF931F92CDB7DEB791 S11302C00F9211248F939F9395B384E0892785BB64
S11302D06983BC9ABB9ABA9AC498BC9AC398BB9ACD S11302D09F918F910F900FBE0F901F901895CF9301
S11302E0C298BA9A1BB888E08AB986EA80BD10BC65 S11302E0DF931F92CDB7DEB76983BC9ABB9ABA9AE3
S11302F089E189B9ECE2F1E085E5C39ABB9A5D9B9B S11302F0C498BC9AC398BB9AC298BA9A1BB888E0AF
S1130300FECF8CB9C398BB9A81918111F6CF0F901F S11303008AB986EA80BD10BC89E189B9ECE2F1E0E2
S1130310DF91CF910895BC9ABB9ABA9AC498BC9ABB S113031085E5C39ABB9A5D9BFECF8CB9C398BB9A03
S1130320C398BB9AC298BA9A0895A29AA39AA49A17 S113032081918111F6CF0F90DF91CF910895BC9AFE
S1130330A59AA69AA79AAA98A29AAB98A39AAC98B7 S1130330BB9ABA9AC498BC9AC398BB9AC298BA9A00
S1130340A49AAD98A59AAE98A69AAF98A79A08953C S11303400895A29AA39AA49AA59AA69AA79AAA9853
S11303508AE391E00E948B0189E391E00E94950178 S1130350A29AAB98A39AAC98A49AAD98A59AAE9891
S113036060E088E391E00E9463010895EE0FFF1FAF S1130360A69AAF98A79A08958BE391E00E9497010B
S10F03700590F491E02D0994F894FFCF5F S11303708AE391E00E94A10160E089E391E00E9498
S113037C2323232320426567696E20426F6F7475B3 S11303806F0184E086B917B80895EE0FFF1F05903A
S113038C70202323232323232323232323232323E3 S10D0390F491E02D0994F894FFCFD6
S113039C232323232323232323232323232323231D S113039A2323232320426567696E20426F6F747595
S11303AC23232323232323232323230A002320541B S11303AA70202323232323232323232323232323C5
S11303BC657374204F75747075740A00232053652B S11303BA23232323232323232323232323232323FF
S11303CC7475702054696D65720A002323204F756F S11303CA23232323232323232323230A00232054FD
S11303DC7470757420496E697420446F6E65210ABB S11303DA657374204F75747075740A00232053650D
S11303EC002320536574757020427574746F6E0A03 S11303EA7475702054696D65720A002323204F7551
S11303FC0023205365747570204144430A00232361 S11303FA7470757420496E697420446F6E65210A9D
S113040C232320456E6420426F6F74757020232360 S113040A0023205365747570204144430A00232055
S113041C232323232323232323232323232323239C S113041A536574757020427574746F6E0A002323D1
S113042C232323232323232323232323232323238C S113042A232320456E6420426F6F74757020232342
S113043C2323232323232323230A005561727420AB S113043A232323232323232323232323232323237E
S10B044C646F6E65210A0000D3 S113044A232323232323232323232323232323236E
S113045A2323232323232323230A0055617274208D
S10B046A646F6E65210A0000B5
S9030000FC S9030000FC

View File

@ -46,7 +46,7 @@ typedef Usart<
> usartclass; > usartclass;
#include "io/ADC.hpp" #include "io/ADC.hpp"
typedef ADC< typedef Adc<
false //AREF powsersource false //AREF powsersource
> adcclass; > adcclass;