diff --git a/Reciver/Reciver.atsuo b/Reciver/Reciver.atsuo index a95a3db..3568a03 100644 Binary files a/Reciver/Reciver.atsuo and b/Reciver/Reciver.atsuo differ diff --git a/Reciver/Reciver/Debug/Reciver.d b/Reciver/Reciver/Debug/Reciver.d index 43afa07..ff62caa 100644 --- a/Reciver/Reciver/Debug/Reciver.d +++ b/Reciver/Reciver/Debug/Reciver.d @@ -10,6 +10,7 @@ Reciver.d Reciver.o: .././Reciver.c \ e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/version.h \ e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/fuse.h \ e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/lock.h \ + e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/interrupt.h \ e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/util/delay.h \ e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/util/delay_basic.h \ e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/math.h \ @@ -37,6 +38,8 @@ e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolch e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/lock.h: +e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/interrupt.h: + e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/util/delay.h: e:\programme\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.1.95\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/util/delay_basic.h: diff --git a/Reciver/Reciver/Debug/Reciver.elf b/Reciver/Reciver/Debug/Reciver.elf index da97ce4..b9a0986 100644 Binary files a/Reciver/Reciver/Debug/Reciver.elf and b/Reciver/Reciver/Debug/Reciver.elf differ diff --git a/Reciver/Reciver/Debug/Reciver.hex b/Reciver/Reciver/Debug/Reciver.hex index e90c5ef..3726af7 100644 --- a/Reciver/Reciver/Debug/Reciver.hex +++ b/Reciver/Reciver/Debug/Reciver.hex @@ -1,65 +1,76 @@ :100000000C942A000C9447000C9447000C94470071 :100010000C9447000C9447000C9447000C94470044 -:100020000C9447000C9447000C9447000C94470034 +:100020000C9447000C94A9000C9447000C944700D2 :100030000C9447000C9447000C9447000C94470024 :100040000C9447000C9447000C9447000C94470014 :100050000C94470011241FBECFE5D4E0DEBFCDBF16 -:1000600010E0A0E6B0E0E8EFF3E002C005900D92EA +:1000600010E0A0E6B0E0E0EBF4E002C005900D92F5 :10007000A036B107D9F710E0A0E6B0E001C01D92AC -:10008000A036B107E1F70E9481000C94FA010C94AC -:100090000000CF93DF9300D0CDB7DEB719821A826C -:1000A000CE01019662E00E948D018981873359F467 -:1000B0008A81833641F4C09A8FE39CE90197F1F776 -:1000C00000C00000C0980F900F90DF91CF9108956D -:1000D000CF93DF930F92CDB7DEB781E08983CE0156 -:1000E000019661E00E9445018FEF90E7A2E0815008 -:1000F0009040A040E1F700C000000F90DF91CF9149 -:1001000008950E94B10080E296E00E94F90081E02B -:1001100060E047E00E94DB0080E895E20E94090170 -:1001200080E066E00E943001B89A0E944900FDCF4D -:10013000939840E120E030E0992314F4959A01C0AF -:100140009598220F331F86992160949A880F991FE2 -:1001500000C000009498415079F7939A822F932F12 -:10016000089588E381BB88E082BB8FEF90E7A2E02F -:1001700081509040A040E1F700C0000080EE90EC7C -:100180000E94980087ED90E80E9498008BEA92EC1C -:100190000E94980081E89AEC0E94980080E090EE1E -:1001A0000E94980080E098EC0E94980087EF94EC01 -:1001B0000E949800089590E0880F991F829592956B -:1001C000907F9827807F9827907050E047705070FC -:1001D000842B952B946970E063707070660F771FA5 -:1001E000660F771F660F771F862B972B0E9498004C -:1001F00008958036910538F02FE08034920728F07A -:100200008FE39FE002C080E690E0906A0E94980031 -:10021000089522E08739920710F125E1883192078D -:1002200080F49C0140E050E060E678EA80E090E0F5 -:100230000E94DF01C90101978068966C0E949800B6 -:1002400008959C0140E050E06CEF72E485E090E09E -:100250000E94BD01C9010197966C0E949800089503 -:1002600090E087709070986970E062957295707FE9 -:100270007627607F76277070862B972B0E949800D8 -:1002800008959398869BFECF08950F931F93CF9365 -:10029000DF938C01C62F88E392E80E9498000E94A9 -:1002A00041018AEA98EB0E9498000E9441018AEA83 -:1002B00098EB0E9498000E9441018AEA98EB0E9404 -:1002C00098000E9441018DE298EB0E9498000E94E4 -:1002D000410184ED98EB0E949800CC2399F0C8016D -:1002E0000196C1509C012C0F311DE9010E94410172 -:1002F000F80181918F0190E0986B0E9498000C1793 -:100300001D07A1F70E94410188E092E80E94980031 -:10031000DF91CF911F910F9108950F931F93CF936A -:10032000DF938C01D62F88EC92E80E94980081E838 -:100330009AEC0E94980083E89AEC0E949800DD23D2 -:1003400099F0C8010196D1509C012D0F311DE90192 -:100350000E94410180E090EB0E949800F801819397 -:100360008F01EC17FD07A1F788E092E80E94980042 -:10037000DF91CF911F910F910895A1E21A2EAA1B30 -:10038000BB1BFD010DC0AA1FBB1FEE1FFF1FA21745 -:10039000B307E407F50720F0A21BB30BE40BF50B42 -:1003A000661F771F881F991F1A9469F760957095CB -:1003B000809590959B01AC01BD01CF01089597FBFD -:1003C000092E05260ED057FD04D0D7DF0AD0001C19 -:1003D00038F450954095309521953F4F4F4F5F4FE2 -:1003E0000895F6F790958095709561957F4F8F4FA2 -:0803F0009F4F0895F894FFCF20 +:10008000A236B107E1F70E94DB000C9456020C94F3 +:100090000000B89AC09A8FE39CE90197F1F700C07D +:1000A0000000C0988AEC90E090936100809360001B +:1000B0008FEF96E1A1E181509040A040E1F700C0B0 +:1000C000000010926100109260008FEF96E1A1E1B4 +:1000D00081509040A040E1F700C000000895CF9308 +:1000E000DF9300D0CDB7DEB719821A82CE01019618 +:1000F00062E00E94E9018981873329F48A8183368D +:1001000011F40E9449000F900F90DF91CF91089554 +:10011000CF93DF930F92CDB7DEB781E08983CE0115 +:10012000019661E00E94A1018FEF90E7A2E081506B +:100130009040A040E1F700C000000F90DF91CF9108 +:10014000089585E083BF88E582BF1CBE81E089BF3A +:1001500008951F920F920FB60F9211242F933F9381 +:100160008F939F9388E582BFB99AC19A8FEA94E0F2 +:100170000197F1F700C0000080916000909161004C +:100180001816190674F480E090E025E12A95F1F73D +:100190000000019620916000309161008217930762 +:1001A000A4F3C1989F918F913F912F910F900FBE13 +:1001B0000F901F9018950E940D0180E296E00E941A +:1001C000550181E060E047E00E94370180E895E258 +:1001D0000E94650180E066E00E948C010E94A100FF +:1001E00078940E946F00FDCF939840E120E030E0CA +:1001F000992314F4959A01C09598220F331F86997C +:100200002160949A880F991F00C000009498415073 +:1002100079F7939A822F932F089588E381BB88E022 +:1002200082BB8FEF90E7A2E081509040A040E1F7C1 +:1002300000C0000080EE90EC0E94F40087ED90E892 +:100240000E94F4008BEA92EC0E94F40081E89AECA0 +:100250000E94F40080E090EE0E94F40080E098ECB0 +:100260000E94F40087EF94EC0E94F400089590E05F +:10027000880F991F82959295907F9827807F982765 +:10028000907050E047705070842B952B946970E00B +:1002900063707070660F771F660F771F660F771F8A +:1002A000862B972B0E94F40008958036910538F034 +:1002B0002FE08034920728F08FE39FE002C080E6B1 +:1002C00090E0906A0E94F400089522E08739920736 +:1002D00010F125E18831920780F49C0140E050E064 +:1002E00060E678EA80E090E00E943B02C901019755 +:1002F0008068966C0E94F40008959C0140E050E0F4 +:100300006CEF72E485E090E00E941902C901019748 +:10031000966C0E94F400089590E087709070986940 +:1003200070E062957295707F7627607F7627707097 +:10033000862B972B0E94F40008959398869BFECFFE +:1003400008950F931F93CF93DF938C01C62F88E3FB +:1003500092E80E94F4000E949D018AEA98EB0E94B4 +:10036000F4000E949D018AEA98EB0E94F4000E942A +:100370009D018AEA98EB0E94F4000E949D018DE2A3 +:1003800098EB0E94F4000E949D0184ED98EB0E947E +:10039000F400CC2399F0C8010196C1509C012C0FA8 +:1003A000311DE9010E949D01F80181918F0190E0CA +:1003B000986B0E94F4000C171D07A1F70E949D0185 +:1003C00088E092E80E94F400DF91CF911F910F9195 +:1003D00008950F931F93CF93DF938C01D62F88EC52 +:1003E00092E80E94F40081E89AEC0E94F40083E80D +:1003F0009AEC0E94F400DD2399F0C8010196D150D7 +:100400009C012D0F311DE9010E949D0180E090EBC0 +:100410000E94F400F80181938F01EC17FD07A1F70A +:1004200088E092E80E94F400DF91CF911F910F9134 +:100430000895A1E21A2EAA1BBB1BFD010DC0AA1F25 +:10044000BB1FEE1FFF1FA217B307E407F50720F03D +:10045000A21BB30BE40BF50B661F771F881F991FB8 +:100460001A9469F760957095809590959B01AC0101 +:10047000BD01CF01089597FB092E05260ED057FD2B +:1004800004D0D7DF0AD0001C38F450954095309541 +:1004900021953F4F4F4F5F4F0895F6F79095809508 +:1004A000709561957F4F8F4F9F4F0895F894FFCFC0 :00000001FF diff --git a/Reciver/Reciver/Debug/Reciver.lss b/Reciver/Reciver/Debug/Reciver.lss index 504b8f9..ebcc503 100644 --- a/Reciver/Reciver/Debug/Reciver.lss +++ b/Reciver/Reciver/Debug/Reciver.lss @@ -3,27 +3,29 @@ Reciver.elf: file format elf32-avr Sections: Idx Name Size VMA LMA File off Algn - 0 .text 000003f8 00000000 00000000 00000074 2**1 + 0 .text 000004b0 00000000 00000000 00000094 2**1 CONTENTS, ALLOC, LOAD, READONLY, CODE - 1 .data 00000000 00800060 000003f8 0000046c 2**0 + 1 .data 00000000 00800060 000004b0 00000544 2**0 CONTENTS, ALLOC, LOAD, DATA - 2 .stab 000006cc 00000000 00000000 0000046c 2**2 + 2 .bss 00000002 00800060 00800060 00000544 2**0 + ALLOC + 3 .stab 000006cc 00000000 00000000 00000544 2**2 CONTENTS, READONLY, DEBUGGING - 3 .stabstr 00000085 00000000 00000000 00000b38 2**0 + 4 .stabstr 00000085 00000000 00000000 00000c10 2**0 CONTENTS, READONLY, DEBUGGING - 4 .debug_aranges 000000e0 00000000 00000000 00000bc0 2**3 + 5 .debug_aranges 000000e0 00000000 00000000 00000c98 2**3 CONTENTS, READONLY, DEBUGGING - 5 .debug_info 00000989 00000000 00000000 00000ca0 2**0 + 6 .debug_info 00000b4f 00000000 00000000 00000d78 2**0 CONTENTS, READONLY, DEBUGGING - 6 .debug_abbrev 000002ea 00000000 00000000 00001629 2**0 + 7 .debug_abbrev 0000037b 00000000 00000000 000018c7 2**0 CONTENTS, READONLY, DEBUGGING - 7 .debug_line 00000662 00000000 00000000 00001913 2**0 + 8 .debug_line 000006a3 00000000 00000000 00001c42 2**0 CONTENTS, READONLY, DEBUGGING - 8 .debug_frame 00000130 00000000 00000000 00001f78 2**2 + 9 .debug_frame 00000180 00000000 00000000 000022e8 2**2 CONTENTS, READONLY, DEBUGGING - 9 .debug_str 000001ca 00000000 00000000 000020a8 2**0 + 10 .debug_str 000001ee 00000000 00000000 00002468 2**0 CONTENTS, READONLY, DEBUGGING - 10 .debug_loc 00000384 00000000 00000000 00002272 2**0 + 11 .debug_loc 00000408 00000000 00000000 00002656 2**0 CONTENTS, READONLY, DEBUGGING Disassembly of section .text: @@ -38,7 +40,7 @@ Disassembly of section .text: 18: 0c 94 47 00 jmp 0x8e ; 0x8e <__bad_interrupt> 1c: 0c 94 47 00 jmp 0x8e ; 0x8e <__bad_interrupt> 20: 0c 94 47 00 jmp 0x8e ; 0x8e <__bad_interrupt> - 24: 0c 94 47 00 jmp 0x8e ; 0x8e <__bad_interrupt> + 24: 0c 94 a9 00 jmp 0x152 ; 0x152 <__vector_9> 28: 0c 94 47 00 jmp 0x8e ; 0x8e <__bad_interrupt> 2c: 0c 94 47 00 jmp 0x8e ; 0x8e <__bad_interrupt> 30: 0c 94 47 00 jmp 0x8e ; 0x8e <__bad_interrupt> @@ -63,8 +65,8 @@ Disassembly of section .text: 60: 10 e0 ldi r17, 0x00 ; 0 62: a0 e6 ldi r26, 0x60 ; 96 64: b0 e0 ldi r27, 0x00 ; 0 - 66: e8 ef ldi r30, 0xF8 ; 248 - 68: f3 e0 ldi r31, 0x03 ; 3 + 66: e0 eb ldi r30, 0xB0 ; 176 + 68: f4 e0 ldi r31, 0x04 ; 4 6a: 02 c0 rjmp .+4 ; 0x70 <__do_copy_data+0x10> 6c: 05 90 lpm r0, Z+ 6e: 0d 92 st X+, r0 @@ -82,658 +84,779 @@ Disassembly of section .text: 7e: 1d 92 st X+, r1 00000080 <.do_clear_bss_start>: - 80: a0 36 cpi r26, 0x60 ; 96 + 80: a2 36 cpi r26, 0x62 ; 98 82: b1 07 cpc r27, r17 84: e1 f7 brne .-8 ; 0x7e <.do_clear_bss_loop> - 86: 0e 94 81 00 call 0x102 ; 0x102
- 8a: 0c 94 fa 01 jmp 0x3f4 ; 0x3f4 <_exit> + 86: 0e 94 db 00 call 0x1b6 ; 0x1b6
+ 8a: 0c 94 56 02 jmp 0x4ac ; 0x4ac <_exit> 0000008e <__bad_interrupt>: 8e: 0c 94 00 00 jmp 0 ; 0x0 <__vectors> -00000092 : - -#include -#include +00000092 : #include "rf12.h" -void recive() { - 92: cf 93 push r28 - 94: df 93 push r29 - 96: 00 d0 rcall .+0 ; 0x98 - 98: cd b7 in r28, 0x3d ; 61 - 9a: de b7 in r29, 0x3e ; 62 - unsigned char text[2]; - text[0] = 0; - 9c: 19 82 std Y+1, r1 ; 0x01 - text[1] = 0; - 9e: 1a 82 std Y+2, r1 ; 0x02 - rf12_rxdata(text,2); - a0: ce 01 movw r24, r28 - a2: 01 96 adiw r24, 0x01 ; 1 - a4: 62 e0 ldi r22, 0x02 ; 2 - a6: 0e 94 8d 01 call 0x31a ; 0x31a - if(text[0] == 55 && text[1] == 99) { - aa: 89 81 ldd r24, Y+1 ; 0x01 - ac: 87 33 cpi r24, 0x37 ; 55 - ae: 59 f4 brne .+22 ; 0xc6 - b0: 8a 81 ldd r24, Y+2 ; 0x02 - b2: 83 36 cpi r24, 0x63 ; 99 - b4: 41 f4 brne .+16 ; 0xc6 - PORTB |= (1< - c0: 00 c0 rjmp .+0 ; 0xc2 - c2: 00 00 nop - _delay_ms(20); - PORTB &= ~(1< + 9e: 00 c0 rjmp .+0 ; 0xa0 + a0: 00 00 nop + _delay_ms(20); + PORTB &= ~(1< + be: 00 c0 rjmp .+0 ; 0xc0 + c0: 00 00 nop + _delay_ms(700); + servopos = 0; + c2: 10 92 61 00 sts 0x0061, r1 + c6: 10 92 60 00 sts 0x0060, r1 + ca: 8f ef ldi r24, 0xFF ; 255 + cc: 96 e1 ldi r25, 0x16 ; 22 + ce: a1 e1 ldi r26, 0x11 ; 17 + d0: 81 50 subi r24, 0x01 ; 1 + d2: 90 40 sbci r25, 0x00 ; 0 + d4: a0 40 sbci r26, 0x00 ; 0 + d6: e1 f7 brne .-8 ; 0xd0 + d8: 00 c0 rjmp .+0 ; 0xda + da: 00 00 nop + _delay_ms(700); +} + dc: 08 95 ret + +000000de : + +void recive() { + de: cf 93 push r28 + e0: df 93 push r29 + e2: 00 d0 rcall .+0 ; 0xe4 + e4: cd b7 in r28, 0x3d ; 61 + e6: de b7 in r29, 0x3e ; 62 + unsigned char text[2]; + text[0] = 0; + e8: 19 82 std Y+1, r1 ; 0x01 + text[1] = 0; + ea: 1a 82 std Y+2, r1 ; 0x02 + rf12_rxdata(text,2); + ec: ce 01 movw r24, r28 + ee: 01 96 adiw r24, 0x01 ; 1 + f0: 62 e0 ldi r22, 0x02 ; 2 + f2: 0e 94 e9 01 call 0x3d2 ; 0x3d2 + if(text[0] == 55 && text[1] == 99) { + f6: 89 81 ldd r24, Y+1 ; 0x01 + f8: 87 33 cpi r24, 0x37 ; 55 + fa: 29 f4 brne .+10 ; 0x106 + fc: 8a 81 ldd r24, Y+2 ; 0x02 + fe: 83 36 cpi r24, 0x63 ; 99 + 100: 11 f4 brne .+4 ; 0x106 + turn(); + 102: 0e 94 49 00 call 0x92 ; 0x92 } } - c6: 0f 90 pop r0 - c8: 0f 90 pop r0 - ca: df 91 pop r29 - cc: cf 91 pop r28 - ce: 08 95 ret + 106: 0f 90 pop r0 + 108: 0f 90 pop r0 + 10a: df 91 pop r29 + 10c: cf 91 pop r28 + 10e: 08 95 ret -000000d0 : +00000110 : void send() { - d0: cf 93 push r28 - d2: df 93 push r29 - d4: 0f 92 push r0 - d6: cd b7 in r28, 0x3d ; 61 - d8: de b7 in r29, 0x3e ; 62 + 110: cf 93 push r28 + 112: df 93 push r29 + 114: 0f 92 push r0 + 116: cd b7 in r28, 0x3d ; 61 + 118: de b7 in r29, 0x3e ; 62 unsigned char text[1] = {0x01}; - da: 81 e0 ldi r24, 0x01 ; 1 - dc: 89 83 std Y+1, r24 ; 0x01 + 11a: 81 e0 ldi r24, 0x01 ; 1 + 11c: 89 83 std Y+1, r24 ; 0x01 rf12_txdata(text,1); - de: ce 01 movw r24, r28 - e0: 01 96 adiw r24, 0x01 ; 1 - e2: 61 e0 ldi r22, 0x01 ; 1 - e4: 0e 94 45 01 call 0x28a ; 0x28a - e8: 8f ef ldi r24, 0xFF ; 255 - ea: 90 e7 ldi r25, 0x70 ; 112 - ec: a2 e0 ldi r26, 0x02 ; 2 - ee: 81 50 subi r24, 0x01 ; 1 - f0: 90 40 sbci r25, 0x00 ; 0 - f2: a0 40 sbci r26, 0x00 ; 0 - f4: e1 f7 brne .-8 ; 0xee - f6: 00 c0 rjmp .+0 ; 0xf8 - f8: 00 00 nop + 11e: ce 01 movw r24, r28 + 120: 01 96 adiw r24, 0x01 ; 1 + 122: 61 e0 ldi r22, 0x01 ; 1 + 124: 0e 94 a1 01 call 0x342 ; 0x342 + 128: 8f ef ldi r24, 0xFF ; 255 + 12a: 90 e7 ldi r25, 0x70 ; 112 + 12c: a2 e0 ldi r26, 0x02 ; 2 + 12e: 81 50 subi r24, 0x01 ; 1 + 130: 90 40 sbci r25, 0x00 ; 0 + 132: a0 40 sbci r26, 0x00 ; 0 + 134: e1 f7 brne .-8 ; 0x12e + 136: 00 c0 rjmp .+0 ; 0x138 + 138: 00 00 nop _delay_ms(100); } - fa: 0f 90 pop r0 - fc: df 91 pop r29 - fe: cf 91 pop r28 - 100: 08 95 ret + 13a: 0f 90 pop r0 + 13c: df 91 pop r29 + 13e: cf 91 pop r28 + 140: 08 95 ret -00000102
: +00000142 : + // Clock source: System Clock + // Clock value: 7,813 kHz + // Mode: Normal top=0xFF + // OC0 output: Disconnected + // Timer Period: 21,504 ms + TCCR0=(0<: + +ISR(TIMER0_OVF_vect) { + 152: 1f 92 push r1 + 154: 0f 92 push r0 + 156: 0f b6 in r0, 0x3f ; 63 + 158: 0f 92 push r0 + 15a: 11 24 eor r1, r1 + 15c: 2f 93 push r18 + 15e: 3f 93 push r19 + 160: 8f 93 push r24 + 162: 9f 93 push r25 + // Reinitialize Timer 0 value + TCNT0=0x58; + 164: 88 e5 ldi r24, 0x58 ; 88 + 166: 82 bf out 0x32, r24 ; 50 + + DDRB |= (1< + 174: 00 c0 rjmp .+0 ; 0x176 <__vector_9+0x24> + 176: 00 00 nop + _delay_us(LEFT); + for(int i=0;i + 186: 80 e0 ldi r24, 0x00 ; 0 + 188: 90 e0 ldi r25, 0x00 ; 0 + 18a: 25 e1 ldi r18, 0x15 ; 21 + 18c: 2a 95 dec r18 + 18e: f1 f7 brne .-4 ; 0x18c <__vector_9+0x3a> + 190: 00 00 nop + 192: 01 96 adiw r24, 0x01 ; 1 + 194: 20 91 60 00 lds r18, 0x0060 + 198: 30 91 61 00 lds r19, 0x0061 + 19c: 82 17 cp r24, r18 + 19e: 93 07 cpc r25, r19 + 1a0: a4 f3 brlt .-24 ; 0x18a <__vector_9+0x38> + _delay_us(STEP); + } + PORTB &= ~(1<: int main(void) { rf12_init(); // ein paar Register setzen (z.B. CLK auf 10MHz) - 102: 0e 94 b1 00 call 0x162 ; 0x162 + 1b6: 0e 94 0d 01 call 0x21a ; 0x21a rf12_setfreq(RF12FREQ(433.92)); // Sende/Empfangsfrequenz auf 433,92MHz einstellen - 106: 80 e2 ldi r24, 0x20 ; 32 - 108: 96 e0 ldi r25, 0x06 ; 6 - 10a: 0e 94 f9 00 call 0x1f2 ; 0x1f2 + 1ba: 80 e2 ldi r24, 0x20 ; 32 + 1bc: 96 e0 ldi r25, 0x06 ; 6 + 1be: 0e 94 55 01 call 0x2aa ; 0x2aa rf12_setbandwidth(1, 0, 7); // 400kHz Bandbreite, 0dB Verstärkung, DRSSI threshold: -61dBm - 10e: 81 e0 ldi r24, 0x01 ; 1 - 110: 60 e0 ldi r22, 0x00 ; 0 - 112: 47 e0 ldi r20, 0x07 ; 7 - 114: 0e 94 db 00 call 0x1b6 ; 0x1b6 + 1c2: 81 e0 ldi r24, 0x01 ; 1 + 1c4: 60 e0 ldi r22, 0x00 ; 0 + 1c6: 47 e0 ldi r20, 0x07 ; 7 + 1c8: 0e 94 37 01 call 0x26e ; 0x26e rf12_setbaud(9600); // 19200 baud - 118: 80 e8 ldi r24, 0x80 ; 128 - 11a: 95 e2 ldi r25, 0x25 ; 37 - 11c: 0e 94 09 01 call 0x212 ; 0x212 + 1cc: 80 e8 ldi r24, 0x80 ; 128 + 1ce: 95 e2 ldi r25, 0x25 ; 37 + 1d0: 0e 94 65 01 call 0x2ca ; 0x2ca rf12_setpower(0, 6); // 1mW Ausgangsleistung, 120kHz Frequenzshift - 120: 80 e0 ldi r24, 0x00 ; 0 - 122: 66 e0 ldi r22, 0x06 ; 6 - 124: 0e 94 30 01 call 0x260 ; 0x260 + 1d4: 80 e0 ldi r24, 0x00 ; 0 + 1d6: 66 e0 ldi r22, 0x06 ; 6 + 1d8: 0e 94 8c 01 call 0x318 ; 0x318 + init_timer(); + 1dc: 0e 94 a1 00 call 0x142 ; 0x142 + sei(); + 1e0: 78 94 sei - DDRB |= (1< - 12e: fd cf rjmp .-6 ; 0x12a + 1e2: 0e 94 6f 00 call 0xde ; 0xde + 1e6: fd cf rjmp .-6 ; 0x1e2 -00000130 : +000001e8 : unsigned short rf12_trans(unsigned short wert) { unsigned short werti=0; unsigned char i; cbi(RF_PORT, CS); - 130: 93 98 cbi 0x12, 3 ; 18 - 132: 40 e1 ldi r20, 0x10 ; 16 + 1e8: 93 98 cbi 0x12, 3 ; 18 + 1ea: 40 e1 ldi r20, 0x10 ; 16 #include #include "global.h" #include "rf12.h" unsigned short rf12_trans(unsigned short wert) { unsigned short werti=0; - 134: 20 e0 ldi r18, 0x00 ; 0 - 136: 30 e0 ldi r19, 0x00 ; 0 + 1ec: 20 e0 ldi r18, 0x00 ; 0 + 1ee: 30 e0 ldi r19, 0x00 ; 0 unsigned char i; cbi(RF_PORT, CS); for (i=0; i<16; i++) { if (wert&32768) - 138: 99 23 and r25, r25 - 13a: 14 f4 brge .+4 ; 0x140 + 1f0: 99 23 and r25, r25 + 1f2: 14 f4 brge .+4 ; 0x1f8 sbi(RF_PORT, SDI); - 13c: 95 9a sbi 0x12, 5 ; 18 - 13e: 01 c0 rjmp .+2 ; 0x142 + 1f4: 95 9a sbi 0x12, 5 ; 18 + 1f6: 01 c0 rjmp .+2 ; 0x1fa else cbi(RF_PORT, SDI); - 140: 95 98 cbi 0x12, 5 ; 18 + 1f8: 95 98 cbi 0x12, 5 ; 18 werti<<=1; - 142: 22 0f add r18, r18 - 144: 33 1f adc r19, r19 + 1fa: 22 0f add r18, r18 + 1fc: 33 1f adc r19, r19 if (RF_PIN&(1< - 152: 00 00 nop + 204: 88 0f add r24, r24 + 206: 99 1f adc r25, r25 + 208: 00 c0 rjmp .+0 ; 0x20a + 20a: 00 00 nop _delay_us(0.3); cbi(RF_PORT, SCK); - 154: 94 98 cbi 0x12, 4 ; 18 - 156: 41 50 subi r20, 0x01 ; 1 + 20c: 94 98 cbi 0x12, 4 ; 18 + 20e: 41 50 subi r20, 0x01 ; 1 unsigned short rf12_trans(unsigned short wert) { unsigned short werti=0; unsigned char i; cbi(RF_PORT, CS); for (i=0; i<16; i++) - 158: 79 f7 brne .-34 ; 0x138 + 210: 79 f7 brne .-34 ; 0x1f0 sbi(RF_PORT, SCK); wert<<=1; _delay_us(0.3); cbi(RF_PORT, SCK); } sbi(RF_PORT, CS); - 15a: 93 9a sbi 0x12, 3 ; 18 + 212: 93 9a sbi 0x12, 3 ; 18 return werti; } - 15c: 82 2f mov r24, r18 - 15e: 93 2f mov r25, r19 - 160: 08 95 ret + 214: 82 2f mov r24, r18 + 216: 93 2f mov r25, r19 + 218: 08 95 ret -00000162 : +0000021a : void rf12_init(void) { RF_DDR=(1< - 178: 00 c0 rjmp .+0 ; 0x17a - 17a: 00 00 nop + 222: 8f ef ldi r24, 0xFF ; 255 + 224: 90 e7 ldi r25, 0x70 ; 112 + 226: a2 e0 ldi r26, 0x02 ; 2 + 228: 81 50 subi r24, 0x01 ; 1 + 22a: 90 40 sbci r25, 0x00 ; 0 + 22c: a0 40 sbci r26, 0x00 ; 0 + 22e: e1 f7 brne .-8 ; 0x228 + 230: 00 c0 rjmp .+0 ; 0x232 + 232: 00 00 nop _delay_ms(100); rf12_trans(0xC0E0); // AVR CLK: 10MHz - 17c: 80 ee ldi r24, 0xE0 ; 224 - 17e: 90 ec ldi r25, 0xC0 ; 192 - 180: 0e 94 98 00 call 0x130 ; 0x130 + 234: 80 ee ldi r24, 0xE0 ; 224 + 236: 90 ec ldi r25, 0xC0 ; 192 + 238: 0e 94 f4 00 call 0x1e8 ; 0x1e8 rf12_trans(0x80D7); // Enable FIFO - 184: 87 ed ldi r24, 0xD7 ; 215 - 186: 90 e8 ldi r25, 0x80 ; 128 - 188: 0e 94 98 00 call 0x130 ; 0x130 + 23c: 87 ed ldi r24, 0xD7 ; 215 + 23e: 90 e8 ldi r25, 0x80 ; 128 + 240: 0e 94 f4 00 call 0x1e8 ; 0x1e8 rf12_trans(0xC2AB); // Data Filter: internal - 18c: 8b ea ldi r24, 0xAB ; 171 - 18e: 92 ec ldi r25, 0xC2 ; 194 - 190: 0e 94 98 00 call 0x130 ; 0x130 + 244: 8b ea ldi r24, 0xAB ; 171 + 246: 92 ec ldi r25, 0xC2 ; 194 + 248: 0e 94 f4 00 call 0x1e8 ; 0x1e8 rf12_trans(0xCA81); // Set FIFO mode - 194: 81 e8 ldi r24, 0x81 ; 129 - 196: 9a ec ldi r25, 0xCA ; 202 - 198: 0e 94 98 00 call 0x130 ; 0x130 + 24c: 81 e8 ldi r24, 0x81 ; 129 + 24e: 9a ec ldi r25, 0xCA ; 202 + 250: 0e 94 f4 00 call 0x1e8 ; 0x1e8 rf12_trans(0xE000); // disable wakeuptimer - 19c: 80 e0 ldi r24, 0x00 ; 0 - 19e: 90 ee ldi r25, 0xE0 ; 224 - 1a0: 0e 94 98 00 call 0x130 ; 0x130 + 254: 80 e0 ldi r24, 0x00 ; 0 + 256: 90 ee ldi r25, 0xE0 ; 224 + 258: 0e 94 f4 00 call 0x1e8 ; 0x1e8 rf12_trans(0xC800); // disable low duty cycle - 1a4: 80 e0 ldi r24, 0x00 ; 0 - 1a6: 98 ec ldi r25, 0xC8 ; 200 - 1a8: 0e 94 98 00 call 0x130 ; 0x130 + 25c: 80 e0 ldi r24, 0x00 ; 0 + 25e: 98 ec ldi r25, 0xC8 ; 200 + 260: 0e 94 f4 00 call 0x1e8 ; 0x1e8 rf12_trans(0xC4F7); // AFC settings: autotuning: -10kHz...+7,5kHz - 1ac: 87 ef ldi r24, 0xF7 ; 247 - 1ae: 94 ec ldi r25, 0xC4 ; 196 - 1b0: 0e 94 98 00 call 0x130 ; 0x130 + 264: 87 ef ldi r24, 0xF7 ; 247 + 266: 94 ec ldi r25, 0xC4 ; 196 + 268: 0e 94 f4 00 call 0x1e8 ; 0x1e8 } - 1b4: 08 95 ret + 26c: 08 95 ret -000001b6 : +0000026e : void rf12_setbandwidth(unsigned char bandwidth, unsigned char gain, unsigned char drssi) { rf12_trans(0x9400|((bandwidth&7)<<5)|((gain&3)<<3)|(drssi&7)); - 1b6: 90 e0 ldi r25, 0x00 ; 0 - 1b8: 88 0f add r24, r24 - 1ba: 99 1f adc r25, r25 - 1bc: 82 95 swap r24 - 1be: 92 95 swap r25 - 1c0: 90 7f andi r25, 0xF0 ; 240 - 1c2: 98 27 eor r25, r24 - 1c4: 80 7f andi r24, 0xF0 ; 240 - 1c6: 98 27 eor r25, r24 - 1c8: 90 70 andi r25, 0x00 ; 0 - 1ca: 50 e0 ldi r21, 0x00 ; 0 - 1cc: 47 70 andi r20, 0x07 ; 7 - 1ce: 50 70 andi r21, 0x00 ; 0 - 1d0: 84 2b or r24, r20 - 1d2: 95 2b or r25, r21 - 1d4: 94 69 ori r25, 0x94 ; 148 - 1d6: 70 e0 ldi r23, 0x00 ; 0 - 1d8: 63 70 andi r22, 0x03 ; 3 - 1da: 70 70 andi r23, 0x00 ; 0 - 1dc: 66 0f add r22, r22 - 1de: 77 1f adc r23, r23 - 1e0: 66 0f add r22, r22 - 1e2: 77 1f adc r23, r23 - 1e4: 66 0f add r22, r22 - 1e6: 77 1f adc r23, r23 - 1e8: 86 2b or r24, r22 - 1ea: 97 2b or r25, r23 - 1ec: 0e 94 98 00 call 0x130 ; 0x130 + 26e: 90 e0 ldi r25, 0x00 ; 0 + 270: 88 0f add r24, r24 + 272: 99 1f adc r25, r25 + 274: 82 95 swap r24 + 276: 92 95 swap r25 + 278: 90 7f andi r25, 0xF0 ; 240 + 27a: 98 27 eor r25, r24 + 27c: 80 7f andi r24, 0xF0 ; 240 + 27e: 98 27 eor r25, r24 + 280: 90 70 andi r25, 0x00 ; 0 + 282: 50 e0 ldi r21, 0x00 ; 0 + 284: 47 70 andi r20, 0x07 ; 7 + 286: 50 70 andi r21, 0x00 ; 0 + 288: 84 2b or r24, r20 + 28a: 95 2b or r25, r21 + 28c: 94 69 ori r25, 0x94 ; 148 + 28e: 70 e0 ldi r23, 0x00 ; 0 + 290: 63 70 andi r22, 0x03 ; 3 + 292: 70 70 andi r23, 0x00 ; 0 + 294: 66 0f add r22, r22 + 296: 77 1f adc r23, r23 + 298: 66 0f add r22, r22 + 29a: 77 1f adc r23, r23 + 29c: 66 0f add r22, r22 + 29e: 77 1f adc r23, r23 + 2a0: 86 2b or r24, r22 + 2a2: 97 2b or r25, r23 + 2a4: 0e 94 f4 00 call 0x1e8 ; 0x1e8 } - 1f0: 08 95 ret + 2a8: 08 95 ret -000001f2 : +000002aa : void rf12_setfreq(unsigned short freq) { if (freq<96) // 430,2400MHz - 1f2: 80 36 cpi r24, 0x60 ; 96 - 1f4: 91 05 cpc r25, r1 - 1f6: 38 f0 brcs .+14 ; 0x206 - 1f8: 2f e0 ldi r18, 0x0F ; 15 - 1fa: 80 34 cpi r24, 0x40 ; 64 - 1fc: 92 07 cpc r25, r18 - 1fe: 28 f0 brcs .+10 ; 0x20a - 200: 8f e3 ldi r24, 0x3F ; 63 - 202: 9f e0 ldi r25, 0x0F ; 15 - 204: 02 c0 rjmp .+4 ; 0x20a + 2aa: 80 36 cpi r24, 0x60 ; 96 + 2ac: 91 05 cpc r25, r1 + 2ae: 38 f0 brcs .+14 ; 0x2be + 2b0: 2f e0 ldi r18, 0x0F ; 15 + 2b2: 80 34 cpi r24, 0x40 ; 64 + 2b4: 92 07 cpc r25, r18 + 2b6: 28 f0 brcs .+10 ; 0x2c2 + 2b8: 8f e3 ldi r24, 0x3F ; 63 + 2ba: 9f e0 ldi r25, 0x0F ; 15 + 2bc: 02 c0 rjmp .+4 ; 0x2c2 freq=96; - 206: 80 e6 ldi r24, 0x60 ; 96 - 208: 90 e0 ldi r25, 0x00 ; 0 + 2be: 80 e6 ldi r24, 0x60 ; 96 + 2c0: 90 e0 ldi r25, 0x00 ; 0 else if (freq>3903) // 439,7575MHz freq=3903; rf12_trans(0xA000|freq); - 20a: 90 6a ori r25, 0xA0 ; 160 - 20c: 0e 94 98 00 call 0x130 ; 0x130 + 2c2: 90 6a ori r25, 0xA0 ; 160 + 2c4: 0e 94 f4 00 call 0x1e8 ; 0x1e8 } - 210: 08 95 ret + 2c8: 08 95 ret -00000212 : +000002ca : void rf12_setbaud(unsigned short baud) { if (baud<663) - 212: 22 e0 ldi r18, 0x02 ; 2 - 214: 87 39 cpi r24, 0x97 ; 151 - 216: 92 07 cpc r25, r18 - 218: 10 f1 brcs .+68 ; 0x25e + 2ca: 22 e0 ldi r18, 0x02 ; 2 + 2cc: 87 39 cpi r24, 0x97 ; 151 + 2ce: 92 07 cpc r25, r18 + 2d0: 10 f1 brcs .+68 ; 0x316 return; if (baud<5400) // Baudrate= 344827,58621/(R+1)/(1+CS*7) - 21a: 25 e1 ldi r18, 0x15 ; 21 - 21c: 88 31 cpi r24, 0x18 ; 24 - 21e: 92 07 cpc r25, r18 - 220: 80 f4 brcc .+32 ; 0x242 + 2d2: 25 e1 ldi r18, 0x15 ; 21 + 2d4: 88 31 cpi r24, 0x18 ; 24 + 2d6: 92 07 cpc r25, r18 + 2d8: 80 f4 brcc .+32 ; 0x2fa rf12_trans(0xC680|((43104/baud)-1)); - 222: 9c 01 movw r18, r24 - 224: 40 e0 ldi r20, 0x00 ; 0 - 226: 50 e0 ldi r21, 0x00 ; 0 - 228: 60 e6 ldi r22, 0x60 ; 96 - 22a: 78 ea ldi r23, 0xA8 ; 168 - 22c: 80 e0 ldi r24, 0x00 ; 0 - 22e: 90 e0 ldi r25, 0x00 ; 0 - 230: 0e 94 df 01 call 0x3be ; 0x3be <__divmodsi4> - 234: c9 01 movw r24, r18 - 236: 01 97 sbiw r24, 0x01 ; 1 - 238: 80 68 ori r24, 0x80 ; 128 - 23a: 96 6c ori r25, 0xC6 ; 198 - 23c: 0e 94 98 00 call 0x130 ; 0x130 - 240: 08 95 ret + 2da: 9c 01 movw r18, r24 + 2dc: 40 e0 ldi r20, 0x00 ; 0 + 2de: 50 e0 ldi r21, 0x00 ; 0 + 2e0: 60 e6 ldi r22, 0x60 ; 96 + 2e2: 78 ea ldi r23, 0xA8 ; 168 + 2e4: 80 e0 ldi r24, 0x00 ; 0 + 2e6: 90 e0 ldi r25, 0x00 ; 0 + 2e8: 0e 94 3b 02 call 0x476 ; 0x476 <__divmodsi4> + 2ec: c9 01 movw r24, r18 + 2ee: 01 97 sbiw r24, 0x01 ; 1 + 2f0: 80 68 ori r24, 0x80 ; 128 + 2f2: 96 6c ori r25, 0xC6 ; 198 + 2f4: 0e 94 f4 00 call 0x1e8 ; 0x1e8 + 2f8: 08 95 ret else rf12_trans(0xC600|((344828UL/baud)-1)); - 242: 9c 01 movw r18, r24 - 244: 40 e0 ldi r20, 0x00 ; 0 - 246: 50 e0 ldi r21, 0x00 ; 0 - 248: 6c ef ldi r22, 0xFC ; 252 - 24a: 72 e4 ldi r23, 0x42 ; 66 - 24c: 85 e0 ldi r24, 0x05 ; 5 - 24e: 90 e0 ldi r25, 0x00 ; 0 - 250: 0e 94 bd 01 call 0x37a ; 0x37a <__udivmodsi4> - 254: c9 01 movw r24, r18 - 256: 01 97 sbiw r24, 0x01 ; 1 - 258: 96 6c ori r25, 0xC6 ; 198 - 25a: 0e 94 98 00 call 0x130 ; 0x130 - 25e: 08 95 ret + 2fa: 9c 01 movw r18, r24 + 2fc: 40 e0 ldi r20, 0x00 ; 0 + 2fe: 50 e0 ldi r21, 0x00 ; 0 + 300: 6c ef ldi r22, 0xFC ; 252 + 302: 72 e4 ldi r23, 0x42 ; 66 + 304: 85 e0 ldi r24, 0x05 ; 5 + 306: 90 e0 ldi r25, 0x00 ; 0 + 308: 0e 94 19 02 call 0x432 ; 0x432 <__udivmodsi4> + 30c: c9 01 movw r24, r18 + 30e: 01 97 sbiw r24, 0x01 ; 1 + 310: 96 6c ori r25, 0xC6 ; 198 + 312: 0e 94 f4 00 call 0x1e8 ; 0x1e8 + 316: 08 95 ret -00000260 : +00000318 : } void rf12_setpower(unsigned char power, unsigned char mod) { rf12_trans(0x9800|(power&7)|((mod&15)<<4)); - 260: 90 e0 ldi r25, 0x00 ; 0 - 262: 87 70 andi r24, 0x07 ; 7 - 264: 90 70 andi r25, 0x00 ; 0 - 266: 98 69 ori r25, 0x98 ; 152 - 268: 70 e0 ldi r23, 0x00 ; 0 - 26a: 62 95 swap r22 - 26c: 72 95 swap r23 - 26e: 70 7f andi r23, 0xF0 ; 240 - 270: 76 27 eor r23, r22 - 272: 60 7f andi r22, 0xF0 ; 240 - 274: 76 27 eor r23, r22 - 276: 70 70 andi r23, 0x00 ; 0 - 278: 86 2b or r24, r22 - 27a: 97 2b or r25, r23 - 27c: 0e 94 98 00 call 0x130 ; 0x130 + 318: 90 e0 ldi r25, 0x00 ; 0 + 31a: 87 70 andi r24, 0x07 ; 7 + 31c: 90 70 andi r25, 0x00 ; 0 + 31e: 98 69 ori r25, 0x98 ; 152 + 320: 70 e0 ldi r23, 0x00 ; 0 + 322: 62 95 swap r22 + 324: 72 95 swap r23 + 326: 70 7f andi r23, 0xF0 ; 240 + 328: 76 27 eor r23, r22 + 32a: 60 7f andi r22, 0xF0 ; 240 + 32c: 76 27 eor r23, r22 + 32e: 70 70 andi r23, 0x00 ; 0 + 330: 86 2b or r24, r22 + 332: 97 2b or r25, r23 + 334: 0e 94 f4 00 call 0x1e8 ; 0x1e8 } - 280: 08 95 ret + 338: 08 95 ret -00000282 : +0000033a : void rf12_ready(void) { cbi(RF_PORT, CS); - 282: 93 98 cbi 0x12, 3 ; 18 + 33a: 93 98 cbi 0x12, 3 ; 18 while (!(RF_PIN&(1< + 33c: 86 9b sbis 0x10, 6 ; 16 + 33e: fe cf rjmp .-4 ; 0x33c } - 288: 08 95 ret + 340: 08 95 ret -0000028a : +00000342 : void rf12_txdata(unsigned char *data, unsigned char number) { unsigned char i; - 28a: 0f 93 push r16 - 28c: 1f 93 push r17 - 28e: cf 93 push r28 - 290: df 93 push r29 - 292: 8c 01 movw r16, r24 - 294: c6 2f mov r28, r22 + 342: 0f 93 push r16 + 344: 1f 93 push r17 + 346: cf 93 push r28 + 348: df 93 push r29 + 34a: 8c 01 movw r16, r24 + 34c: c6 2f mov r28, r22 rf12_trans(0x8238); // TX on - 296: 88 e3 ldi r24, 0x38 ; 56 - 298: 92 e8 ldi r25, 0x82 ; 130 - 29a: 0e 94 98 00 call 0x130 ; 0x130 + 34e: 88 e3 ldi r24, 0x38 ; 56 + 350: 92 e8 ldi r25, 0x82 ; 130 + 352: 0e 94 f4 00 call 0x1e8 ; 0x1e8 rf12_ready(); - 29e: 0e 94 41 01 call 0x282 ; 0x282 + 356: 0e 94 9d 01 call 0x33a ; 0x33a rf12_trans(0xB8AA); - 2a2: 8a ea ldi r24, 0xAA ; 170 - 2a4: 98 eb ldi r25, 0xB8 ; 184 - 2a6: 0e 94 98 00 call 0x130 ; 0x130 + 35a: 8a ea ldi r24, 0xAA ; 170 + 35c: 98 eb ldi r25, 0xB8 ; 184 + 35e: 0e 94 f4 00 call 0x1e8 ; 0x1e8 rf12_ready(); - 2aa: 0e 94 41 01 call 0x282 ; 0x282 + 362: 0e 94 9d 01 call 0x33a ; 0x33a rf12_trans(0xB8AA); - 2ae: 8a ea ldi r24, 0xAA ; 170 - 2b0: 98 eb ldi r25, 0xB8 ; 184 - 2b2: 0e 94 98 00 call 0x130 ; 0x130 + 366: 8a ea ldi r24, 0xAA ; 170 + 368: 98 eb ldi r25, 0xB8 ; 184 + 36a: 0e 94 f4 00 call 0x1e8 ; 0x1e8 rf12_ready(); - 2b6: 0e 94 41 01 call 0x282 ; 0x282 + 36e: 0e 94 9d 01 call 0x33a ; 0x33a rf12_trans(0xB8AA); - 2ba: 8a ea ldi r24, 0xAA ; 170 - 2bc: 98 eb ldi r25, 0xB8 ; 184 - 2be: 0e 94 98 00 call 0x130 ; 0x130 + 372: 8a ea ldi r24, 0xAA ; 170 + 374: 98 eb ldi r25, 0xB8 ; 184 + 376: 0e 94 f4 00 call 0x1e8 ; 0x1e8 rf12_ready(); - 2c2: 0e 94 41 01 call 0x282 ; 0x282 + 37a: 0e 94 9d 01 call 0x33a ; 0x33a rf12_trans(0xB82D); - 2c6: 8d e2 ldi r24, 0x2D ; 45 - 2c8: 98 eb ldi r25, 0xB8 ; 184 - 2ca: 0e 94 98 00 call 0x130 ; 0x130 + 37e: 8d e2 ldi r24, 0x2D ; 45 + 380: 98 eb ldi r25, 0xB8 ; 184 + 382: 0e 94 f4 00 call 0x1e8 ; 0x1e8 rf12_ready(); - 2ce: 0e 94 41 01 call 0x282 ; 0x282 + 386: 0e 94 9d 01 call 0x33a ; 0x33a rf12_trans(0xB8D4); - 2d2: 84 ed ldi r24, 0xD4 ; 212 - 2d4: 98 eb ldi r25, 0xB8 ; 184 - 2d6: 0e 94 98 00 call 0x130 ; 0x130 + 38a: 84 ed ldi r24, 0xD4 ; 212 + 38c: 98 eb ldi r25, 0xB8 ; 184 + 38e: 0e 94 f4 00 call 0x1e8 ; 0x1e8 for (i=0; i + 392: cc 23 and r28, r28 + 394: 99 f0 breq .+38 ; 0x3bc void rf12_ready(void) { cbi(RF_PORT, CS); while (!(RF_PIN&(1< + 3a4: 0e 94 9d 01 call 0x33a ; 0x33a rf12_trans(0xB800|(*data++)); - 2f0: f8 01 movw r30, r16 - 2f2: 81 91 ld r24, Z+ - 2f4: 8f 01 movw r16, r30 - 2f6: 90 e0 ldi r25, 0x00 ; 0 - 2f8: 98 6b ori r25, 0xB8 ; 184 - 2fa: 0e 94 98 00 call 0x130 ; 0x130 + 3a8: f8 01 movw r30, r16 + 3aa: 81 91 ld r24, Z+ + 3ac: 8f 01 movw r16, r30 + 3ae: 90 e0 ldi r25, 0x00 ; 0 + 3b0: 98 6b ori r25, 0xB8 ; 184 + 3b2: 0e 94 f4 00 call 0x1e8 ; 0x1e8 rf12_trans(0xB8AA); rf12_ready(); rf12_trans(0xB82D); rf12_ready(); rf12_trans(0xB8D4); for (i=0; i + 3b6: 0c 17 cp r16, r28 + 3b8: 1d 07 cpc r17, r29 + 3ba: a1 f7 brne .-24 ; 0x3a4 { rf12_ready(); rf12_trans(0xB800|(*data++)); } rf12_ready(); - 304: 0e 94 41 01 call 0x282 ; 0x282 + 3bc: 0e 94 9d 01 call 0x33a ; 0x33a rf12_trans(0x8208); // TX off - 308: 88 e0 ldi r24, 0x08 ; 8 - 30a: 92 e8 ldi r25, 0x82 ; 130 - 30c: 0e 94 98 00 call 0x130 ; 0x130 + 3c0: 88 e0 ldi r24, 0x08 ; 8 + 3c2: 92 e8 ldi r25, 0x82 ; 130 + 3c4: 0e 94 f4 00 call 0x1e8 ; 0x1e8 } - 310: df 91 pop r29 - 312: cf 91 pop r28 - 314: 1f 91 pop r17 - 316: 0f 91 pop r16 - 318: 08 95 ret + 3c8: df 91 pop r29 + 3ca: cf 91 pop r28 + 3cc: 1f 91 pop r17 + 3ce: 0f 91 pop r16 + 3d0: 08 95 ret -0000031a : +000003d2 : void rf12_rxdata(unsigned char *data, unsigned char number) { unsigned char i; - 31a: 0f 93 push r16 - 31c: 1f 93 push r17 - 31e: cf 93 push r28 - 320: df 93 push r29 - 322: 8c 01 movw r16, r24 - 324: d6 2f mov r29, r22 + 3d2: 0f 93 push r16 + 3d4: 1f 93 push r17 + 3d6: cf 93 push r28 + 3d8: df 93 push r29 + 3da: 8c 01 movw r16, r24 + 3dc: d6 2f mov r29, r22 rf12_trans(0x82C8); // RX on - 326: 88 ec ldi r24, 0xC8 ; 200 - 328: 92 e8 ldi r25, 0x82 ; 130 - 32a: 0e 94 98 00 call 0x130 ; 0x130 + 3de: 88 ec ldi r24, 0xC8 ; 200 + 3e0: 92 e8 ldi r25, 0x82 ; 130 + 3e2: 0e 94 f4 00 call 0x1e8 ; 0x1e8 rf12_trans(0xCA81); // set FIFO mode - 32e: 81 e8 ldi r24, 0x81 ; 129 - 330: 9a ec ldi r25, 0xCA ; 202 - 332: 0e 94 98 00 call 0x130 ; 0x130 + 3e6: 81 e8 ldi r24, 0x81 ; 129 + 3e8: 9a ec ldi r25, 0xCA ; 202 + 3ea: 0e 94 f4 00 call 0x1e8 ; 0x1e8 rf12_trans(0xCA83); // enable FIFO - 336: 83 e8 ldi r24, 0x83 ; 131 - 338: 9a ec ldi r25, 0xCA ; 202 - 33a: 0e 94 98 00 call 0x130 ; 0x130 + 3ee: 83 e8 ldi r24, 0x83 ; 131 + 3f0: 9a ec ldi r25, 0xCA ; 202 + 3f2: 0e 94 f4 00 call 0x1e8 ; 0x1e8 for (i=0; i + 3f6: dd 23 and r29, r29 + 3f8: 99 f0 breq .+38 ; 0x420 } rf12_ready(); rf12_trans(0x8208); // TX off } void rf12_rxdata(unsigned char *data, unsigned char number) - 342: c8 01 movw r24, r16 - 344: 01 96 adiw r24, 0x01 ; 1 - 346: d1 50 subi r29, 0x01 ; 1 - 348: 9c 01 movw r18, r24 - 34a: 2d 0f add r18, r29 - 34c: 31 1d adc r19, r1 - 34e: e9 01 movw r28, r18 + 3fa: c8 01 movw r24, r16 + 3fc: 01 96 adiw r24, 0x01 ; 1 + 3fe: d1 50 subi r29, 0x01 ; 1 + 400: 9c 01 movw r18, r24 + 402: 2d 0f add r18, r29 + 404: 31 1d adc r19, r1 + 406: e9 01 movw r28, r18 { unsigned char i; rf12_trans(0x82C8); // RX on rf12_trans(0xCA81); // set FIFO mode rf12_trans(0xCA83); // enable FIFO for (i=0; i + 408: 0e 94 9d 01 call 0x33a ; 0x33a *data++=rf12_trans(0xB000); - 354: 80 e0 ldi r24, 0x00 ; 0 - 356: 90 eb ldi r25, 0xB0 ; 176 - 358: 0e 94 98 00 call 0x130 ; 0x130 - 35c: f8 01 movw r30, r16 - 35e: 81 93 st Z+, r24 - 360: 8f 01 movw r16, r30 + 40c: 80 e0 ldi r24, 0x00 ; 0 + 40e: 90 eb ldi r25, 0xB0 ; 176 + 410: 0e 94 f4 00 call 0x1e8 ; 0x1e8 + 414: f8 01 movw r30, r16 + 416: 81 93 st Z+, r24 + 418: 8f 01 movw r16, r30 void rf12_rxdata(unsigned char *data, unsigned char number) { unsigned char i; rf12_trans(0x82C8); // RX on rf12_trans(0xCA81); // set FIFO mode rf12_trans(0xCA83); // enable FIFO for (i=0; i + 41a: ec 17 cp r30, r28 + 41c: fd 07 cpc r31, r29 + 41e: a1 f7 brne .-24 ; 0x408 { rf12_ready(); *data++=rf12_trans(0xB000); } rf12_trans(0x8208); // RX off - 368: 88 e0 ldi r24, 0x08 ; 8 - 36a: 92 e8 ldi r25, 0x82 ; 130 - 36c: 0e 94 98 00 call 0x130 ; 0x130 - 370: df 91 pop r29 - 372: cf 91 pop r28 - 374: 1f 91 pop r17 - 376: 0f 91 pop r16 - 378: 08 95 ret + 420: 88 e0 ldi r24, 0x08 ; 8 + 422: 92 e8 ldi r25, 0x82 ; 130 + 424: 0e 94 f4 00 call 0x1e8 ; 0x1e8 + 428: df 91 pop r29 + 42a: cf 91 pop r28 + 42c: 1f 91 pop r17 + 42e: 0f 91 pop r16 + 430: 08 95 ret -0000037a <__udivmodsi4>: - 37a: a1 e2 ldi r26, 0x21 ; 33 - 37c: 1a 2e mov r1, r26 - 37e: aa 1b sub r26, r26 - 380: bb 1b sub r27, r27 - 382: fd 01 movw r30, r26 - 384: 0d c0 rjmp .+26 ; 0x3a0 <__udivmodsi4_ep> +00000432 <__udivmodsi4>: + 432: a1 e2 ldi r26, 0x21 ; 33 + 434: 1a 2e mov r1, r26 + 436: aa 1b sub r26, r26 + 438: bb 1b sub r27, r27 + 43a: fd 01 movw r30, r26 + 43c: 0d c0 rjmp .+26 ; 0x458 <__udivmodsi4_ep> -00000386 <__udivmodsi4_loop>: - 386: aa 1f adc r26, r26 - 388: bb 1f adc r27, r27 - 38a: ee 1f adc r30, r30 - 38c: ff 1f adc r31, r31 - 38e: a2 17 cp r26, r18 - 390: b3 07 cpc r27, r19 - 392: e4 07 cpc r30, r20 - 394: f5 07 cpc r31, r21 - 396: 20 f0 brcs .+8 ; 0x3a0 <__udivmodsi4_ep> - 398: a2 1b sub r26, r18 - 39a: b3 0b sbc r27, r19 - 39c: e4 0b sbc r30, r20 - 39e: f5 0b sbc r31, r21 +0000043e <__udivmodsi4_loop>: + 43e: aa 1f adc r26, r26 + 440: bb 1f adc r27, r27 + 442: ee 1f adc r30, r30 + 444: ff 1f adc r31, r31 + 446: a2 17 cp r26, r18 + 448: b3 07 cpc r27, r19 + 44a: e4 07 cpc r30, r20 + 44c: f5 07 cpc r31, r21 + 44e: 20 f0 brcs .+8 ; 0x458 <__udivmodsi4_ep> + 450: a2 1b sub r26, r18 + 452: b3 0b sbc r27, r19 + 454: e4 0b sbc r30, r20 + 456: f5 0b sbc r31, r21 -000003a0 <__udivmodsi4_ep>: - 3a0: 66 1f adc r22, r22 - 3a2: 77 1f adc r23, r23 - 3a4: 88 1f adc r24, r24 - 3a6: 99 1f adc r25, r25 - 3a8: 1a 94 dec r1 - 3aa: 69 f7 brne .-38 ; 0x386 <__udivmodsi4_loop> - 3ac: 60 95 com r22 - 3ae: 70 95 com r23 - 3b0: 80 95 com r24 - 3b2: 90 95 com r25 - 3b4: 9b 01 movw r18, r22 - 3b6: ac 01 movw r20, r24 - 3b8: bd 01 movw r22, r26 - 3ba: cf 01 movw r24, r30 - 3bc: 08 95 ret +00000458 <__udivmodsi4_ep>: + 458: 66 1f adc r22, r22 + 45a: 77 1f adc r23, r23 + 45c: 88 1f adc r24, r24 + 45e: 99 1f adc r25, r25 + 460: 1a 94 dec r1 + 462: 69 f7 brne .-38 ; 0x43e <__udivmodsi4_loop> + 464: 60 95 com r22 + 466: 70 95 com r23 + 468: 80 95 com r24 + 46a: 90 95 com r25 + 46c: 9b 01 movw r18, r22 + 46e: ac 01 movw r20, r24 + 470: bd 01 movw r22, r26 + 472: cf 01 movw r24, r30 + 474: 08 95 ret -000003be <__divmodsi4>: - 3be: 97 fb bst r25, 7 - 3c0: 09 2e mov r0, r25 - 3c2: 05 26 eor r0, r21 - 3c4: 0e d0 rcall .+28 ; 0x3e2 <__divmodsi4_neg1> - 3c6: 57 fd sbrc r21, 7 - 3c8: 04 d0 rcall .+8 ; 0x3d2 <__divmodsi4_neg2> - 3ca: d7 df rcall .-82 ; 0x37a <__udivmodsi4> - 3cc: 0a d0 rcall .+20 ; 0x3e2 <__divmodsi4_neg1> - 3ce: 00 1c adc r0, r0 - 3d0: 38 f4 brcc .+14 ; 0x3e0 <__divmodsi4_exit> +00000476 <__divmodsi4>: + 476: 97 fb bst r25, 7 + 478: 09 2e mov r0, r25 + 47a: 05 26 eor r0, r21 + 47c: 0e d0 rcall .+28 ; 0x49a <__divmodsi4_neg1> + 47e: 57 fd sbrc r21, 7 + 480: 04 d0 rcall .+8 ; 0x48a <__divmodsi4_neg2> + 482: d7 df rcall .-82 ; 0x432 <__udivmodsi4> + 484: 0a d0 rcall .+20 ; 0x49a <__divmodsi4_neg1> + 486: 00 1c adc r0, r0 + 488: 38 f4 brcc .+14 ; 0x498 <__divmodsi4_exit> -000003d2 <__divmodsi4_neg2>: - 3d2: 50 95 com r21 - 3d4: 40 95 com r20 - 3d6: 30 95 com r19 - 3d8: 21 95 neg r18 - 3da: 3f 4f sbci r19, 0xFF ; 255 - 3dc: 4f 4f sbci r20, 0xFF ; 255 - 3de: 5f 4f sbci r21, 0xFF ; 255 +0000048a <__divmodsi4_neg2>: + 48a: 50 95 com r21 + 48c: 40 95 com r20 + 48e: 30 95 com r19 + 490: 21 95 neg r18 + 492: 3f 4f sbci r19, 0xFF ; 255 + 494: 4f 4f sbci r20, 0xFF ; 255 + 496: 5f 4f sbci r21, 0xFF ; 255 -000003e0 <__divmodsi4_exit>: - 3e0: 08 95 ret +00000498 <__divmodsi4_exit>: + 498: 08 95 ret -000003e2 <__divmodsi4_neg1>: - 3e2: f6 f7 brtc .-4 ; 0x3e0 <__divmodsi4_exit> - 3e4: 90 95 com r25 - 3e6: 80 95 com r24 - 3e8: 70 95 com r23 - 3ea: 61 95 neg r22 - 3ec: 7f 4f sbci r23, 0xFF ; 255 - 3ee: 8f 4f sbci r24, 0xFF ; 255 - 3f0: 9f 4f sbci r25, 0xFF ; 255 - 3f2: 08 95 ret +0000049a <__divmodsi4_neg1>: + 49a: f6 f7 brtc .-4 ; 0x498 <__divmodsi4_exit> + 49c: 90 95 com r25 + 49e: 80 95 com r24 + 4a0: 70 95 com r23 + 4a2: 61 95 neg r22 + 4a4: 7f 4f sbci r23, 0xFF ; 255 + 4a6: 8f 4f sbci r24, 0xFF ; 255 + 4a8: 9f 4f sbci r25, 0xFF ; 255 + 4aa: 08 95 ret -000003f4 <_exit>: - 3f4: f8 94 cli +000004ac <_exit>: + 4ac: f8 94 cli -000003f6 <__stop_program>: - 3f6: ff cf rjmp .-2 ; 0x3f6 <__stop_program> +000004ae <__stop_program>: + 4ae: ff cf rjmp .-2 ; 0x4ae <__stop_program> diff --git a/Reciver/Reciver/Debug/Reciver.map b/Reciver/Reciver/Debug/Reciver.map index 6facd7c..be12ead 100644 --- a/Reciver/Reciver/Debug/Reciver.map +++ b/Reciver/Reciver/Debug/Reciver.map @@ -124,7 +124,7 @@ LOAD e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoo .rela.plt *(.rela.plt) -.text 0x00000000 0x3f8 +.text 0x00000000 0x4b0 *(.vectors) .vectors 0x00000000 0x54 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr5/crtm16a.o 0x00000000 __vector_default @@ -192,7 +192,6 @@ LOAD e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoo 0x0000008e __vector_7 0x0000008e __vector_5 0x0000008e __vector_4 - 0x0000008e __vector_9 0x0000008e __vector_2 0x0000008e __vector_15 0x0000008e __vector_8 @@ -201,39 +200,42 @@ LOAD e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoo 0x0000008e __vector_16 0x0000008e __vector_18 0x0000008e __vector_20 - .text 0x00000092 0x9e Reciver.o - 0x00000092 recive - 0x000000d0 send - 0x00000102 main - .text 0x00000130 0x24a rf12.o - 0x00000130 rf12_trans - 0x00000162 rf12_init - 0x000001b6 rf12_setbandwidth - 0x000001f2 rf12_setfreq - 0x00000212 rf12_setbaud - 0x00000260 rf12_setpower - 0x00000282 rf12_ready - 0x0000028a rf12_txdata - 0x0000031a rf12_rxdata - .text 0x0000037a 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_udivmodsi4.o) - .text 0x0000037a 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_divmodsi4.o) - .text 0x0000037a 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_exit.o) - .text 0x0000037a 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_copy_data.o) - .text 0x0000037a 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_clear_bss.o) - 0x0000037a . = ALIGN (0x2) + .text 0x00000092 0x156 Reciver.o + 0x00000092 turn + 0x000000de recive + 0x00000110 send + 0x00000142 init_timer + 0x00000152 __vector_9 + 0x000001b6 main + .text 0x000001e8 0x24a rf12.o + 0x000001e8 rf12_trans + 0x0000021a rf12_init + 0x0000026e rf12_setbandwidth + 0x000002aa rf12_setfreq + 0x000002ca rf12_setbaud + 0x00000318 rf12_setpower + 0x0000033a rf12_ready + 0x00000342 rf12_txdata + 0x000003d2 rf12_rxdata + .text 0x00000432 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_udivmodsi4.o) + .text 0x00000432 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_divmodsi4.o) + .text 0x00000432 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_exit.o) + .text 0x00000432 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_copy_data.o) + .text 0x00000432 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_clear_bss.o) + 0x00000432 . = ALIGN (0x2) *(.text.*) - .text.libgcc 0x0000037a 0x44 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_udivmodsi4.o) - 0x0000037a __udivmodsi4 - .text.libgcc 0x000003be 0x36 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_divmodsi4.o) - 0x000003be __divmodsi4 - .text.libgcc 0x000003f4 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_exit.o) - .text.libgcc 0x000003f4 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_copy_data.o) - .text.libgcc 0x000003f4 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_clear_bss.o) - 0x000003f4 . = ALIGN (0x2) + .text.libgcc 0x00000432 0x44 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_udivmodsi4.o) + 0x00000432 __udivmodsi4 + .text.libgcc 0x00000476 0x36 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_divmodsi4.o) + 0x00000476 __divmodsi4 + .text.libgcc 0x000004ac 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_exit.o) + .text.libgcc 0x000004ac 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_copy_data.o) + .text.libgcc 0x000004ac 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_clear_bss.o) + 0x000004ac . = ALIGN (0x2) *(.fini9) - .fini9 0x000003f4 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_exit.o) - 0x000003f4 _exit - 0x000003f4 exit + .fini9 0x000004ac 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_exit.o) + 0x000004ac _exit + 0x000004ac exit *(.fini9) *(.fini8) *(.fini8) @@ -252,11 +254,11 @@ LOAD e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoo *(.fini1) *(.fini1) *(.fini0) - .fini0 0x000003f4 0x4 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_exit.o) + .fini0 0x000004ac 0x4 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_exit.o) *(.fini0) - 0x000003f8 _etext = . + 0x000004b0 _etext = . -.data 0x00800060 0x0 load address 0x000003f8 +.data 0x00800060 0x0 load address 0x000004b0 0x00800060 PROVIDE (__data_start, .) *(.data) .data 0x00800060 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr5/crtm16a.o @@ -275,29 +277,30 @@ LOAD e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoo 0x00800060 _edata = . 0x00800060 PROVIDE (__data_end, .) -.bss 0x00800060 0x0 +.bss 0x00800060 0x2 0x00800060 PROVIDE (__bss_start, .) *(.bss) .bss 0x00800060 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr5/crtm16a.o - .bss 0x00800060 0x0 Reciver.o - .bss 0x00800060 0x0 rf12.o - .bss 0x00800060 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_udivmodsi4.o) - .bss 0x00800060 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_divmodsi4.o) - .bss 0x00800060 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_exit.o) - .bss 0x00800060 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_copy_data.o) - .bss 0x00800060 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_clear_bss.o) + .bss 0x00800060 0x2 Reciver.o + 0x00800060 servopos + .bss 0x00800062 0x0 rf12.o + .bss 0x00800062 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_udivmodsi4.o) + .bss 0x00800062 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_divmodsi4.o) + .bss 0x00800062 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_exit.o) + .bss 0x00800062 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_copy_data.o) + .bss 0x00800062 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_clear_bss.o) *(.bss*) *(COMMON) - 0x00800060 PROVIDE (__bss_end, .) - 0x000003f8 __data_load_start = LOADADDR (.data) - 0x000003f8 __data_load_end = (__data_load_start + SIZEOF (.data)) + 0x00800062 PROVIDE (__bss_end, .) + 0x000004b0 __data_load_start = LOADADDR (.data) + 0x000004b0 __data_load_end = (__data_load_start + SIZEOF (.data)) -.noinit 0x00800060 0x0 - 0x00800060 PROVIDE (__noinit_start, .) +.noinit 0x00800062 0x0 + 0x00800062 PROVIDE (__noinit_start, .) *(.noinit*) - 0x00800060 PROVIDE (__noinit_end, .) - 0x00800060 _end = . - 0x00800060 PROVIDE (__heap_start, .) + 0x00800062 PROVIDE (__noinit_end, .) + 0x00800062 _end = . + 0x00800062 PROVIDE (__heap_start, .) .eeprom 0x00810000 0x0 *(.eeprom*) @@ -370,53 +373,53 @@ LOAD e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoo .debug_pubnames *(.debug_pubnames) -.debug_info 0x00000000 0x989 +.debug_info 0x00000000 0xb4f *(.debug_info) - .debug_info 0x00000000 0x1cd Reciver.o - .debug_info 0x000001cd 0x36b rf12.o - .debug_info 0x00000538 0xdd e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_udivmodsi4.o) - .debug_info 0x00000615 0xdd e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_divmodsi4.o) - .debug_info 0x000006f2 0xdd e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_exit.o) - .debug_info 0x000007cf 0xdd e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_copy_data.o) - .debug_info 0x000008ac 0xdd e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_clear_bss.o) + .debug_info 0x00000000 0x393 Reciver.o + .debug_info 0x00000393 0x36b rf12.o + .debug_info 0x000006fe 0xdd e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_udivmodsi4.o) + .debug_info 0x000007db 0xdd e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_divmodsi4.o) + .debug_info 0x000008b8 0xdd e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_exit.o) + .debug_info 0x00000995 0xdd e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_copy_data.o) + .debug_info 0x00000a72 0xdd e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_clear_bss.o) *(.gnu.linkonce.wi.*) -.debug_abbrev 0x00000000 0x2ea +.debug_abbrev 0x00000000 0x37b *(.debug_abbrev) - .debug_abbrev 0x00000000 0x113 Reciver.o - .debug_abbrev 0x00000113 0x173 rf12.o - .debug_abbrev 0x00000286 0x14 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_udivmodsi4.o) - .debug_abbrev 0x0000029a 0x14 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_divmodsi4.o) - .debug_abbrev 0x000002ae 0x14 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_exit.o) - .debug_abbrev 0x000002c2 0x14 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_copy_data.o) - .debug_abbrev 0x000002d6 0x14 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_clear_bss.o) + .debug_abbrev 0x00000000 0x1a4 Reciver.o + .debug_abbrev 0x000001a4 0x173 rf12.o + .debug_abbrev 0x00000317 0x14 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_udivmodsi4.o) + .debug_abbrev 0x0000032b 0x14 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_divmodsi4.o) + .debug_abbrev 0x0000033f 0x14 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_exit.o) + .debug_abbrev 0x00000353 0x14 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_copy_data.o) + .debug_abbrev 0x00000367 0x14 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_clear_bss.o) -.debug_line 0x00000000 0x662 +.debug_line 0x00000000 0x6a3 *(.debug_line) - .debug_line 0x00000000 0x191 Reciver.o - .debug_line 0x00000191 0x1e1 rf12.o - .debug_line 0x00000372 0xa8 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_udivmodsi4.o) - .debug_line 0x0000041a 0xa1 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_divmodsi4.o) - .debug_line 0x000004bb 0x88 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_exit.o) - .debug_line 0x00000543 0x91 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_copy_data.o) - .debug_line 0x000005d4 0x8e e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_clear_bss.o) + .debug_line 0x00000000 0x1d2 Reciver.o + .debug_line 0x000001d2 0x1e1 rf12.o + .debug_line 0x000003b3 0xa8 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_udivmodsi4.o) + .debug_line 0x0000045b 0xa1 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_divmodsi4.o) + .debug_line 0x000004fc 0x88 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_exit.o) + .debug_line 0x00000584 0x91 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_copy_data.o) + .debug_line 0x00000615 0x8e e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_clear_bss.o) -.debug_frame 0x00000000 0x130 +.debug_frame 0x00000000 0x180 *(.debug_frame) - .debug_frame 0x00000000 0x64 Reciver.o - .debug_frame 0x00000064 0xcc rf12.o + .debug_frame 0x00000000 0xb4 Reciver.o + .debug_frame 0x000000b4 0xcc rf12.o -.debug_str 0x00000000 0x1ca +.debug_str 0x00000000 0x1ee *(.debug_str) - .debug_str 0x00000000 0x10d Reciver.o - 0x141 (size before relaxing) - .debug_str 0x0000010d 0xbd rf12.o + .debug_str 0x00000000 0x140 Reciver.o + 0x174 (size before relaxing) + .debug_str 0x00000140 0xae rf12.o 0x1f8 (size before relaxing) -.debug_loc 0x00000000 0x384 +.debug_loc 0x00000000 0x408 *(.debug_loc) - .debug_loc 0x00000000 0xd8 Reciver.o - .debug_loc 0x000000d8 0x2ac rf12.o + .debug_loc 0x00000000 0x15c Reciver.o + .debug_loc 0x0000015c 0x2ac rf12.o .debug_macinfo *(.debug_macinfo) diff --git a/Reciver/Reciver/Debug/Reciver.srec b/Reciver/Reciver/Debug/Reciver.srec index 03aac1f..cfe57b6 100644 --- a/Reciver/Reciver/Debug/Reciver.srec +++ b/Reciver/Reciver/Debug/Reciver.srec @@ -1,66 +1,77 @@ S00F0000526563697665722E7372656345 S11300000C942A000C9447000C9447000C9447006D S11300100C9447000C9447000C9447000C94470040 -S11300200C9447000C9447000C9447000C94470030 +S11300200C9447000C94A9000C9447000C944700CE S11300300C9447000C9447000C9447000C94470020 S11300400C9447000C9447000C9447000C94470010 S11300500C94470011241FBECFE5D4E0DEBFCDBF12 -S113006010E0A0E6B0E0E8EFF3E002C005900D92E6 +S113006010E0A0E6B0E0E0EBF4E002C005900D92F1 S1130070A036B107D9F710E0A0E6B0E001C01D92A8 -S1130080A036B107E1F70E9481000C94FA010C94A8 -S11300900000CF93DF9300D0CDB7DEB719821A8268 -S11300A0CE01019662E00E948D018981873359F463 -S11300B08A81833641F4C09A8FE39CE90197F1F772 -S11300C000C00000C0980F900F90DF91CF91089569 -S11300D0CF93DF930F92CDB7DEB781E08983CE0152 -S11300E0019661E00E9445018FEF90E7A2E0815004 -S11300F09040A040E1F700C000000F90DF91CF9145 -S113010008950E94B10080E296E00E94F90081E027 -S113011060E047E00E94DB0080E895E20E9409016C -S113012080E066E00E943001B89A0E944900FDCF49 -S1130130939840E120E030E0992314F4959A01C0AB -S11301409598220F331F86992160949A880F991FDE -S113015000C000009498415079F7939A822F932F0E -S1130160089588E381BB88E082BB8FEF90E7A2E02B -S113017081509040A040E1F700C0000080EE90EC78 -S11301800E94980087ED90E80E9498008BEA92EC18 -S11301900E94980081E89AEC0E94980080E090EE1A -S11301A00E94980080E098EC0E94980087EF94ECFD -S11301B00E949800089590E0880F991F8295929567 -S11301C0907F9827807F9827907050E047705070F8 -S11301D0842B952B946970E063707070660F771FA1 -S11301E0660F771F660F771F862B972B0E94980048 -S11301F008958036910538F02FE08034920728F076 -S11302008FE39FE002C080E690E0906A0E9498002D -S1130210089522E08739920710F125E18831920789 -S113022080F49C0140E050E060E678EA80E090E0F1 -S11302300E94DF01C90101978068966C0E949800B2 -S113024008959C0140E050E06CEF72E485E090E09A -S11302500E94BD01C9010197966C0E9498000895FF -S113026090E087709070986970E062957295707FE5 -S11302707627607F76277070862B972B0E949800D4 -S113028008959398869BFECF08950F931F93CF9361 -S1130290DF938C01C62F88E392E80E9498000E94A5 -S11302A041018AEA98EB0E9498000E9441018AEA7F -S11302B098EB0E9498000E9441018AEA98EB0E9400 -S11302C098000E9441018DE298EB0E9498000E94E0 -S11302D0410184ED98EB0E949800CC2399F0C80169 -S11302E00196C1509C012C0F311DE9010E9441016E -S11302F0F80181918F0190E0986B0E9498000C178F -S11303001D07A1F70E94410188E092E80E9498002D -S1130310DF91CF911F910F9108950F931F93CF9366 -S1130320DF938C01D62F88EC92E80E94980081E834 -S11303309AEC0E94980083E89AEC0E949800DD23CE -S113034099F0C8010196D1509C012D0F311DE9018E -S11303500E94410180E090EB0E949800F801819393 -S11303608F01EC17FD07A1F788E092E80E9498003E -S1130370DF91CF911F910F910895A1E21A2EAA1B2C -S1130380BB1BFD010DC0AA1FBB1FEE1FFF1FA21741 -S1130390B307E407F50720F0A21BB30BE40BF50B3E -S11303A0661F771F881F991F1A9469F760957095C7 -S11303B0809590959B01AC01BD01CF01089597FBF9 -S11303C0092E05260ED057FD04D0D7DF0AD0001C15 -S11303D038F450954095309521953F4F4F4F5F4FDE -S11303E00895F6F790958095709561957F4F8F4F9E -S10B03F09F4F0895F894FFCF1C +S1130080A236B107E1F70E94DB000C9456020C94EF +S11300900000B89AC09A8FE39CE90197F1F700C079 +S11300A00000C0988AEC90E0909361008093600017 +S11300B08FEF96E1A1E181509040A040E1F700C0AC +S11300C0000010926100109260008FEF96E1A1E1B0 +S11300D081509040A040E1F700C000000895CF9304 +S11300E0DF9300D0CDB7DEB719821A82CE01019614 +S11300F062E00E94E9018981873329F48A81833689 +S113010011F40E9449000F900F90DF91CF91089550 +S1130110CF93DF930F92CDB7DEB781E08983CE0111 +S1130120019661E00E94A1018FEF90E7A2E0815067 +S11301309040A040E1F700C000000F90DF91CF9104 +S1130140089585E083BF88E582BF1CBE81E089BF36 +S113015008951F920F920FB60F9211242F933F937D +S11301608F939F9388E582BFB99AC19A8FEA94E0EE +S11301700197F1F700C00000809160009091610048 +S11301801816190674F480E090E025E12A95F1F739 +S1130190000001962091600030916100821793075E +S11301A0A4F3C1989F918F913F912F910F900FBE0F +S11301B00F901F9018950E940D0180E296E00E9416 +S11301C0550181E060E047E00E94370180E895E254 +S11301D00E94650180E066E00E948C010E94A100FB +S11301E078940E946F00FDCF939840E120E030E0C6 +S11301F0992314F4959A01C09598220F331F869978 +S11302002160949A880F991F00C00000949841506F +S113021079F7939A822F932F089588E381BB88E01E +S113022082BB8FEF90E7A2E081509040A040E1F7BD +S113023000C0000080EE90EC0E94F40087ED90E88E +S11302400E94F4008BEA92EC0E94F40081E89AEC9C +S11302500E94F40080E090EE0E94F40080E098ECAC +S11302600E94F40087EF94EC0E94F400089590E05B +S1130270880F991F82959295907F9827807F982761 +S1130280907050E047705070842B952B946970E007 +S113029063707070660F771F660F771F660F771F86 +S11302A0862B972B0E94F40008958036910538F030 +S11302B02FE08034920728F08FE39FE002C080E6AD +S11302C090E0906A0E94F400089522E08739920732 +S11302D010F125E18831920780F49C0140E050E060 +S11302E060E678EA80E090E00E943B02C901019751 +S11302F08068966C0E94F40008959C0140E050E0F0 +S11303006CEF72E485E090E00E941902C901019744 +S1130310966C0E94F400089590E08770907098693C +S113032070E062957295707F7627607F7627707093 +S1130330862B972B0E94F40008959398869BFECFFA +S113034008950F931F93CF93DF938C01C62F88E3F7 +S113035092E80E94F4000E949D018AEA98EB0E94B0 +S1130360F4000E949D018AEA98EB0E94F4000E9426 +S11303709D018AEA98EB0E94F4000E949D018DE29F +S113038098EB0E94F4000E949D0184ED98EB0E947A +S1130390F400CC2399F0C8010196C1509C012C0FA4 +S11303A0311DE9010E949D01F80181918F0190E0C6 +S11303B0986B0E94F4000C171D07A1F70E949D0181 +S11303C088E092E80E94F400DF91CF911F910F9191 +S11303D008950F931F93CF93DF938C01D62F88EC4E +S11303E092E80E94F40081E89AEC0E94F40083E809 +S11303F09AEC0E94F400DD2399F0C8010196D150D3 +S11304009C012D0F311DE9010E949D0180E090EBBC +S11304100E94F400F80181938F01EC17FD07A1F706 +S113042088E092E80E94F400DF91CF911F910F9130 +S11304300895A1E21A2EAA1BBB1BFD010DC0AA1F21 +S1130440BB1FEE1FFF1FA217B307E407F50720F039 +S1130450A21BB30BE40BF50B661F771F881F991FB4 +S11304601A9469F760957095809590959B01AC01FD +S1130470BD01CF01089597FB092E05260ED057FD27 +S113048004D0D7DF0AD0001C38F45095409530953D +S113049021953F4F4F4F5F4F0895F6F79095809504 +S11304A0709561957F4F8F4F9F4F0895F894FFCFBC S9030000FC diff --git a/Reciver/Reciver/Reciver.c b/Reciver/Reciver/Reciver.c index 3f8ee5a..3cfee19 100644 --- a/Reciver/Reciver/Reciver.c +++ b/Reciver/Reciver/Reciver.c @@ -7,19 +7,35 @@ #define F_CPU 8000000 +#define LEFT 600 +#define RIGHT 202 +#define STEP 8 + #include +#include #include #include "rf12.h" +volatile int servopos = 0; + +void turn() { + DDRB |= (1<: 0: 12 c0 rjmp .+36 ; 0x26 <__ctors_end> - 2: 2c c0 rjmp .+88 ; 0x5c <__bad_interrupt> + 2: 6b c1 rjmp .+726 ; 0x2da <__vector_1> 4: 2b c0 rjmp .+86 ; 0x5c <__bad_interrupt> 6: 2a c0 rjmp .+84 ; 0x5c <__bad_interrupt> 8: 29 c0 rjmp .+82 ; 0x5c <__bad_interrupt> @@ -61,7 +63,7 @@ Disassembly of section .text: 32: 10 e0 ldi r17, 0x00 ; 0 34: a0 e6 ldi r26, 0x60 ; 96 36: b0 e0 ldi r27, 0x00 ; 0 - 38: e0 e9 ldi r30, 0x90 ; 144 + 38: ec ef ldi r30, 0xFC ; 252 3a: f3 e0 ldi r31, 0x03 ; 3 3c: 02 c0 rjmp .+4 ; 0x42 <__SREG__+0x3> 3e: 05 90 lpm r0, Z+ @@ -80,11 +82,11 @@ Disassembly of section .text: 50: 1d 92 st X+, r1 00000052 <.do_clear_bss_start>: - 52: a0 36 cpi r26, 0x60 ; 96 + 52: a2 36 cpi r26, 0x62 ; 98 54: b1 07 cpc r27, r17 56: e1 f7 brne .-8 ; 0x50 <.do_clear_bss_loop> - 58: 40 d1 rcall .+640 ; 0x2da
- 5a: 98 c1 rjmp .+816 ; 0x38c <_exit> + 58: 7b d1 rcall .+758 ; 0x350
+ 5a: ce c1 rjmp .+924 ; 0x3f8 <_exit> 0000005c <__bad_interrupt>: 5c: d1 cf rjmp .-94 ; 0x0 <__vectors> @@ -306,7 +308,7 @@ void rf12_setbaud(unsigned short baud) 146: 78 ea ldi r23, 0xA8 ; 168 148: 80 e0 ldi r24, 0x00 ; 0 14a: 90 e0 ldi r25, 0x00 ; 0 - 14c: 04 d1 rcall .+520 ; 0x356 <__divmodsi4> + 14c: 3a d1 rcall .+628 ; 0x3c2 <__divmodsi4> 14e: c9 01 movw r24, r18 150: 01 97 sbiw r24, 0x01 ; 1 152: 80 68 ori r24, 0x80 ; 128 @@ -322,7 +324,7 @@ void rf12_setbaud(unsigned short baud) 162: 72 e4 ldi r23, 0x42 ; 66 164: 85 e0 ldi r24, 0x05 ; 5 166: 90 e0 ldi r25, 0x00 ; 0 - 168: d4 d0 rcall .+424 ; 0x312 <__udivmodsi4> + 168: 0a d1 rcall .+532 ; 0x37e <__udivmodsi4> 16a: c9 01 movw r24, r18 16c: 01 97 sbiw r24, 0x01 ; 1 16e: 96 6c ori r25, 0xC6 ; 198 @@ -631,128 +633,204 @@ void send() { } 2d8: 08 95 ret -000002da
: +000002da <__vector_1>: + +ISR(INT0_vect) { + 2da: 1f 92 push r1 + 2dc: 0f 92 push r0 + 2de: 0f b6 in r0, 0x3f ; 63 + 2e0: 0f 92 push r0 + 2e2: 11 24 eor r1, r1 + 2e4: 2f 93 push r18 + 2e6: 3f 93 push r19 + 2e8: 4f 93 push r20 + 2ea: 5f 93 push r21 + 2ec: 6f 93 push r22 + 2ee: 7f 93 push r23 + 2f0: 8f 93 push r24 + 2f2: 9f 93 push r25 + 2f4: af 93 push r26 + 2f6: bf 93 push r27 + 2f8: ef 93 push r30 + 2fa: ff 93 push r31 + DDRC |= (1< + 302: 8f ef ldi r24, 0xFF ; 255 + 304: 94 e3 ldi r25, 0x34 ; 52 + 306: ac e0 ldi r26, 0x0C ; 12 + 308: 81 50 subi r24, 0x01 ; 1 + 30a: 90 40 sbci r25, 0x00 ; 0 + 30c: a0 40 sbci r26, 0x00 ; 0 + 30e: e1 f7 brne .-8 ; 0x308 <__vector_1+0x2e> + 310: 00 c0 rjmp .+0 ; 0x312 <__vector_1+0x38> + 312: 00 00 nop + _delay_ms(500); + PORTC &= ~(1<: + +void init_int() { + // Port D initialization + // Function: Bit2=In + DDRD &= ~(1<: int main(void) -{ +{ rf12_init(); // ein paar Register setzen (z.B. CLK auf 10MHz) - 2da: da de rcall .-588 ; 0x90 + 350: 9f de rcall .-706 ; 0x90 rf12_setfreq(RF12FREQ(433.92)); // Sende/Empfangsfrequenz auf 433,92MHz einstellen - 2dc: 80 e2 ldi r24, 0x20 ; 32 - 2de: 96 e0 ldi r25, 0x06 ; 6 - 2e0: 17 df rcall .-466 ; 0x110 + 352: 80 e2 ldi r24, 0x20 ; 32 + 354: 96 e0 ldi r25, 0x06 ; 6 + 356: dc de rcall .-584 ; 0x110 rf12_setbandwidth(1, 0, 7); // 400kHz Bandbreite, 0dB Verstärkung, DRSSI threshold: -61dBm - 2e2: 81 e0 ldi r24, 0x01 ; 1 - 2e4: 60 e0 ldi r22, 0x00 ; 0 - 2e6: 47 e0 ldi r20, 0x07 ; 7 - 2e8: f6 de rcall .-532 ; 0xd6 + 358: 81 e0 ldi r24, 0x01 ; 1 + 35a: 60 e0 ldi r22, 0x00 ; 0 + 35c: 47 e0 ldi r20, 0x07 ; 7 + 35e: bb de rcall .-650 ; 0xd6 rf12_setbaud(9600); // 19200 baud - 2ea: 80 e8 ldi r24, 0x80 ; 128 - 2ec: 95 e2 ldi r25, 0x25 ; 37 - 2ee: 1f df rcall .-450 ; 0x12e + 360: 80 e8 ldi r24, 0x80 ; 128 + 362: 95 e2 ldi r25, 0x25 ; 37 + 364: e4 de rcall .-568 ; 0x12e rf12_setpower(0, 6); // 1mW Ausgangsleistung, 120kHz Frequenzshift - 2f0: 80 e0 ldi r24, 0x00 ; 0 - 2f2: 66 e0 ldi r22, 0x06 ; 6 - 2f4: 3f df rcall .-386 ; 0x174 + 366: 80 e0 ldi r24, 0x00 ; 0 + 368: 66 e0 ldi r22, 0x06 ; 6 + 36a: 04 df rcall .-504 ; 0x174 - DDRC |= (1< - PORTC &= ~(1< - 30c: 00 c0 rjmp .+0 ; 0x30e - 30e: 00 00 nop - 310: f3 cf rjmp .-26 ; 0x2f8 + init_int(); + 36c: e5 df rcall .-54 ; 0x338 + sei(); + 36e: 78 94 sei + 370: 8f e3 ldi r24, 0x3F ; 63 + 372: 9c e9 ldi r25, 0x9C ; 156 + 374: 01 97 sbiw r24, 0x01 ; 1 + 376: f1 f7 brne .-4 ; 0x374 + 378: 00 c0 rjmp .+0 ; 0x37a + 37a: 00 00 nop + 37c: f9 cf rjmp .-14 ; 0x370 -00000312 <__udivmodsi4>: - 312: a1 e2 ldi r26, 0x21 ; 33 - 314: 1a 2e mov r1, r26 - 316: aa 1b sub r26, r26 - 318: bb 1b sub r27, r27 - 31a: fd 01 movw r30, r26 - 31c: 0d c0 rjmp .+26 ; 0x338 <__udivmodsi4_ep> +0000037e <__udivmodsi4>: + 37e: a1 e2 ldi r26, 0x21 ; 33 + 380: 1a 2e mov r1, r26 + 382: aa 1b sub r26, r26 + 384: bb 1b sub r27, r27 + 386: fd 01 movw r30, r26 + 388: 0d c0 rjmp .+26 ; 0x3a4 <__udivmodsi4_ep> -0000031e <__udivmodsi4_loop>: - 31e: aa 1f adc r26, r26 - 320: bb 1f adc r27, r27 - 322: ee 1f adc r30, r30 - 324: ff 1f adc r31, r31 - 326: a2 17 cp r26, r18 - 328: b3 07 cpc r27, r19 - 32a: e4 07 cpc r30, r20 - 32c: f5 07 cpc r31, r21 - 32e: 20 f0 brcs .+8 ; 0x338 <__udivmodsi4_ep> - 330: a2 1b sub r26, r18 - 332: b3 0b sbc r27, r19 - 334: e4 0b sbc r30, r20 - 336: f5 0b sbc r31, r21 +0000038a <__udivmodsi4_loop>: + 38a: aa 1f adc r26, r26 + 38c: bb 1f adc r27, r27 + 38e: ee 1f adc r30, r30 + 390: ff 1f adc r31, r31 + 392: a2 17 cp r26, r18 + 394: b3 07 cpc r27, r19 + 396: e4 07 cpc r30, r20 + 398: f5 07 cpc r31, r21 + 39a: 20 f0 brcs .+8 ; 0x3a4 <__udivmodsi4_ep> + 39c: a2 1b sub r26, r18 + 39e: b3 0b sbc r27, r19 + 3a0: e4 0b sbc r30, r20 + 3a2: f5 0b sbc r31, r21 -00000338 <__udivmodsi4_ep>: - 338: 66 1f adc r22, r22 - 33a: 77 1f adc r23, r23 - 33c: 88 1f adc r24, r24 - 33e: 99 1f adc r25, r25 - 340: 1a 94 dec r1 - 342: 69 f7 brne .-38 ; 0x31e <__udivmodsi4_loop> - 344: 60 95 com r22 - 346: 70 95 com r23 - 348: 80 95 com r24 - 34a: 90 95 com r25 - 34c: 9b 01 movw r18, r22 - 34e: ac 01 movw r20, r24 - 350: bd 01 movw r22, r26 - 352: cf 01 movw r24, r30 - 354: 08 95 ret +000003a4 <__udivmodsi4_ep>: + 3a4: 66 1f adc r22, r22 + 3a6: 77 1f adc r23, r23 + 3a8: 88 1f adc r24, r24 + 3aa: 99 1f adc r25, r25 + 3ac: 1a 94 dec r1 + 3ae: 69 f7 brne .-38 ; 0x38a <__udivmodsi4_loop> + 3b0: 60 95 com r22 + 3b2: 70 95 com r23 + 3b4: 80 95 com r24 + 3b6: 90 95 com r25 + 3b8: 9b 01 movw r18, r22 + 3ba: ac 01 movw r20, r24 + 3bc: bd 01 movw r22, r26 + 3be: cf 01 movw r24, r30 + 3c0: 08 95 ret -00000356 <__divmodsi4>: - 356: 97 fb bst r25, 7 - 358: 09 2e mov r0, r25 - 35a: 05 26 eor r0, r21 - 35c: 0e d0 rcall .+28 ; 0x37a <__divmodsi4_neg1> - 35e: 57 fd sbrc r21, 7 - 360: 04 d0 rcall .+8 ; 0x36a <__divmodsi4_neg2> - 362: d7 df rcall .-82 ; 0x312 <__udivmodsi4> - 364: 0a d0 rcall .+20 ; 0x37a <__divmodsi4_neg1> - 366: 00 1c adc r0, r0 - 368: 38 f4 brcc .+14 ; 0x378 <__divmodsi4_exit> +000003c2 <__divmodsi4>: + 3c2: 97 fb bst r25, 7 + 3c4: 09 2e mov r0, r25 + 3c6: 05 26 eor r0, r21 + 3c8: 0e d0 rcall .+28 ; 0x3e6 <__divmodsi4_neg1> + 3ca: 57 fd sbrc r21, 7 + 3cc: 04 d0 rcall .+8 ; 0x3d6 <__divmodsi4_neg2> + 3ce: d7 df rcall .-82 ; 0x37e <__udivmodsi4> + 3d0: 0a d0 rcall .+20 ; 0x3e6 <__divmodsi4_neg1> + 3d2: 00 1c adc r0, r0 + 3d4: 38 f4 brcc .+14 ; 0x3e4 <__divmodsi4_exit> -0000036a <__divmodsi4_neg2>: - 36a: 50 95 com r21 - 36c: 40 95 com r20 - 36e: 30 95 com r19 - 370: 21 95 neg r18 - 372: 3f 4f sbci r19, 0xFF ; 255 - 374: 4f 4f sbci r20, 0xFF ; 255 - 376: 5f 4f sbci r21, 0xFF ; 255 +000003d6 <__divmodsi4_neg2>: + 3d6: 50 95 com r21 + 3d8: 40 95 com r20 + 3da: 30 95 com r19 + 3dc: 21 95 neg r18 + 3de: 3f 4f sbci r19, 0xFF ; 255 + 3e0: 4f 4f sbci r20, 0xFF ; 255 + 3e2: 5f 4f sbci r21, 0xFF ; 255 -00000378 <__divmodsi4_exit>: - 378: 08 95 ret +000003e4 <__divmodsi4_exit>: + 3e4: 08 95 ret -0000037a <__divmodsi4_neg1>: - 37a: f6 f7 brtc .-4 ; 0x378 <__divmodsi4_exit> - 37c: 90 95 com r25 - 37e: 80 95 com r24 - 380: 70 95 com r23 - 382: 61 95 neg r22 - 384: 7f 4f sbci r23, 0xFF ; 255 - 386: 8f 4f sbci r24, 0xFF ; 255 - 388: 9f 4f sbci r25, 0xFF ; 255 - 38a: 08 95 ret +000003e6 <__divmodsi4_neg1>: + 3e6: f6 f7 brtc .-4 ; 0x3e4 <__divmodsi4_exit> + 3e8: 90 95 com r25 + 3ea: 80 95 com r24 + 3ec: 70 95 com r23 + 3ee: 61 95 neg r22 + 3f0: 7f 4f sbci r23, 0xFF ; 255 + 3f2: 8f 4f sbci r24, 0xFF ; 255 + 3f4: 9f 4f sbci r25, 0xFF ; 255 + 3f6: 08 95 ret -0000038c <_exit>: - 38c: f8 94 cli +000003f8 <_exit>: + 3f8: f8 94 cli -0000038e <__stop_program>: - 38e: ff cf rjmp .-2 ; 0x38e <__stop_program> +000003fa <__stop_program>: + 3fa: ff cf rjmp .-2 ; 0x3fa <__stop_program> diff --git a/Sender/Sender/Debug/Sender.map b/Sender/Sender/Debug/Sender.map index 83739bd..95e7e9f 100644 --- a/Sender/Sender/Debug/Sender.map +++ b/Sender/Sender/Debug/Sender.map @@ -124,7 +124,7 @@ LOAD e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoo .rela.plt *(.rela.plt) -.text 0x00000000 0x390 +.text 0x00000000 0x3fc *(.vectors) .vectors 0x00000000 0x26 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr4/crtm8a.o 0x00000000 __vector_default @@ -180,7 +180,6 @@ LOAD e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoo *(.init9) *(.text) .text 0x0000005c 0x2 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr4/crtm8a.o - 0x0000005c __vector_1 0x0000005c __vector_12 0x0000005c __bad_interrupt 0x0000005c __vector_6 @@ -210,28 +209,30 @@ LOAD e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoo 0x0000019c rf12_txdata 0x0000020e rf12_rxdata 0x00000262 rf12_txpacket - .text 0x000002ce 0x44 Sender.o + .text 0x000002ce 0xb0 Sender.o 0x000002ce send - 0x000002da main - .text 0x00000312 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_udivmodsi4.o) - .text 0x00000312 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_divmodsi4.o) - .text 0x00000312 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_exit.o) - .text 0x00000312 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_copy_data.o) - .text 0x00000312 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_clear_bss.o) - 0x00000312 . = ALIGN (0x2) + 0x000002da __vector_1 + 0x00000338 init_int + 0x00000350 main + .text 0x0000037e 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_udivmodsi4.o) + .text 0x0000037e 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_divmodsi4.o) + .text 0x0000037e 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_exit.o) + .text 0x0000037e 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_copy_data.o) + .text 0x0000037e 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_clear_bss.o) + 0x0000037e . = ALIGN (0x2) *(.text.*) - .text.libgcc 0x00000312 0x44 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_udivmodsi4.o) - 0x00000312 __udivmodsi4 - .text.libgcc 0x00000356 0x36 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_divmodsi4.o) - 0x00000356 __divmodsi4 - .text.libgcc 0x0000038c 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_exit.o) - .text.libgcc 0x0000038c 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_copy_data.o) - .text.libgcc 0x0000038c 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_clear_bss.o) - 0x0000038c . = ALIGN (0x2) + .text.libgcc 0x0000037e 0x44 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_udivmodsi4.o) + 0x0000037e __udivmodsi4 + .text.libgcc 0x000003c2 0x36 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_divmodsi4.o) + 0x000003c2 __divmodsi4 + .text.libgcc 0x000003f8 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_exit.o) + .text.libgcc 0x000003f8 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_copy_data.o) + .text.libgcc 0x000003f8 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_clear_bss.o) + 0x000003f8 . = ALIGN (0x2) *(.fini9) - .fini9 0x0000038c 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_exit.o) - 0x0000038c _exit - 0x0000038c exit + .fini9 0x000003f8 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_exit.o) + 0x000003f8 _exit + 0x000003f8 exit *(.fini9) *(.fini8) *(.fini8) @@ -250,11 +251,11 @@ LOAD e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoo *(.fini1) *(.fini1) *(.fini0) - .fini0 0x0000038c 0x4 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_exit.o) + .fini0 0x000003f8 0x4 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_exit.o) *(.fini0) - 0x00000390 _etext = . + 0x000003fc _etext = . -.data 0x00800060 0x0 load address 0x00000390 +.data 0x00800060 0x0 load address 0x000003fc 0x00800060 PROVIDE (__data_start, .) *(.data) .data 0x00800060 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr4/crtm8a.o @@ -273,29 +274,30 @@ LOAD e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoo 0x00800060 _edata = . 0x00800060 PROVIDE (__data_end, .) -.bss 0x00800060 0x0 +.bss 0x00800060 0x2 0x00800060 PROVIDE (__bss_start, .) *(.bss) .bss 0x00800060 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr4/crtm8a.o .bss 0x00800060 0x0 rf12.o - .bss 0x00800060 0x0 Sender.o - .bss 0x00800060 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_udivmodsi4.o) - .bss 0x00800060 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_divmodsi4.o) - .bss 0x00800060 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_exit.o) - .bss 0x00800060 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_copy_data.o) - .bss 0x00800060 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_clear_bss.o) + .bss 0x00800060 0x2 Sender.o + 0x00800060 interrupt + .bss 0x00800062 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_udivmodsi4.o) + .bss 0x00800062 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_divmodsi4.o) + .bss 0x00800062 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_exit.o) + .bss 0x00800062 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_copy_data.o) + .bss 0x00800062 0x0 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_clear_bss.o) *(.bss*) *(COMMON) - 0x00800060 PROVIDE (__bss_end, .) - 0x00000390 __data_load_start = LOADADDR (.data) - 0x00000390 __data_load_end = (__data_load_start + SIZEOF (.data)) + 0x00800062 PROVIDE (__bss_end, .) + 0x000003fc __data_load_start = LOADADDR (.data) + 0x000003fc __data_load_end = (__data_load_start + SIZEOF (.data)) -.noinit 0x00800060 0x0 - 0x00800060 PROVIDE (__noinit_start, .) +.noinit 0x00800062 0x0 + 0x00800062 PROVIDE (__noinit_start, .) *(.noinit*) - 0x00800060 PROVIDE (__noinit_end, .) - 0x00800060 _end = . - 0x00800060 PROVIDE (__heap_start, .) + 0x00800062 PROVIDE (__noinit_end, .) + 0x00800062 _end = . + 0x00800062 PROVIDE (__heap_start, .) .eeprom 0x00810000 0x0 *(.eeprom*) @@ -368,52 +370,53 @@ LOAD e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoo .debug_pubnames *(.debug_pubnames) -.debug_info 0x00000000 0x97e +.debug_info 0x00000000 0xa03 *(.debug_info) .debug_info 0x00000000 0x3df rf12.o - .debug_info 0x000003df 0x14e Sender.o - .debug_info 0x0000052d 0xdd e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_udivmodsi4.o) - .debug_info 0x0000060a 0xdd e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_divmodsi4.o) - .debug_info 0x000006e7 0xdd e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_exit.o) - .debug_info 0x000007c4 0xdd e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_copy_data.o) - .debug_info 0x000008a1 0xdd e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_clear_bss.o) + .debug_info 0x000003df 0x1d3 Sender.o + .debug_info 0x000005b2 0xdd e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_udivmodsi4.o) + .debug_info 0x0000068f 0xdd e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_divmodsi4.o) + .debug_info 0x0000076c 0xdd e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_exit.o) + .debug_info 0x00000849 0xdd e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_copy_data.o) + .debug_info 0x00000926 0xdd e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_clear_bss.o) *(.gnu.linkonce.wi.*) -.debug_abbrev 0x00000000 0x2cd +.debug_abbrev 0x00000000 0x311 *(.debug_abbrev) .debug_abbrev 0x00000000 0x173 rf12.o - .debug_abbrev 0x00000173 0xf6 Sender.o - .debug_abbrev 0x00000269 0x14 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_udivmodsi4.o) - .debug_abbrev 0x0000027d 0x14 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_divmodsi4.o) - .debug_abbrev 0x00000291 0x14 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_exit.o) - .debug_abbrev 0x000002a5 0x14 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_copy_data.o) - .debug_abbrev 0x000002b9 0x14 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_clear_bss.o) + .debug_abbrev 0x00000173 0x13a Sender.o + .debug_abbrev 0x000002ad 0x14 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_udivmodsi4.o) + .debug_abbrev 0x000002c1 0x14 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_divmodsi4.o) + .debug_abbrev 0x000002d5 0x14 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_exit.o) + .debug_abbrev 0x000002e9 0x14 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_copy_data.o) + .debug_abbrev 0x000002fd 0x14 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_clear_bss.o) -.debug_line 0x00000000 0x66d +.debug_line 0x00000000 0x677 *(.debug_line) .debug_line 0x00000000 0x1ff rf12.o - .debug_line 0x000001ff 0x17e Sender.o - .debug_line 0x0000037d 0xa8 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_udivmodsi4.o) - .debug_line 0x00000425 0xa1 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_divmodsi4.o) - .debug_line 0x000004c6 0x88 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_exit.o) - .debug_line 0x0000054e 0x91 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_copy_data.o) - .debug_line 0x000005df 0x8e e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_clear_bss.o) + .debug_line 0x000001ff 0x188 Sender.o + .debug_line 0x00000387 0xa8 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_udivmodsi4.o) + .debug_line 0x0000042f 0xa1 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_divmodsi4.o) + .debug_line 0x000004d0 0x88 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_exit.o) + .debug_line 0x00000558 0x91 e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_copy_data.o) + .debug_line 0x000005e9 0x8e e:/programme/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.1.95/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr4\libgcc.a(_clear_bss.o) -.debug_frame 0x00000000 0x11c +.debug_frame 0x00000000 0x184 *(.debug_frame) .debug_frame 0x00000000 0xe8 rf12.o - .debug_frame 0x000000e8 0x34 Sender.o + .debug_frame 0x000000e8 0x9c Sender.o -.debug_str 0x00000000 0x1ce +.debug_str 0x00000000 0x1ec *(.debug_str) .debug_str 0x00000000 0x1b6 rf12.o 0x209 (size before relaxing) - .debug_str 0x000001b6 0x18 Sender.o - 0x140 (size before relaxing) + .debug_str 0x000001b6 0x36 Sender.o + 0x15e (size before relaxing) -.debug_loc 0x00000000 0x317 +.debug_loc 0x00000000 0x3e2 *(.debug_loc) .debug_loc 0x00000000 0x317 rf12.o + .debug_loc 0x00000317 0xcb Sender.o .debug_macinfo *(.debug_macinfo) diff --git a/Sender/Sender/Debug/Sender.srec b/Sender/Sender/Debug/Sender.srec index e87f15a..78e1e40 100644 --- a/Sender/Sender/Debug/Sender.srec +++ b/Sender/Sender/Debug/Sender.srec @@ -1,10 +1,10 @@ S00E000053656E6465722E73726563B5 -S113000012C02CC02BC02AC029C028C027C026C0BB +S113000012C06BC12BC02AC029C028C027C026C07B S113001025C024C023C022C021C020C01FC01EC0D0 S11300201DC01CC01BC011241FBECFE5D4E0DEBF21 -S1130030CDBF10E0A0E6B0E0E0E9F3E002C0059037 +S1130030CDBF10E0A0E6B0E0ECEFF3E002C0059025 S11300400D92A036B107D9F710E0A0E6B0E001C0E8 -S11300501D92A036B107E1F740D198C1D1CFAC9839 +S11300501D92A236B107E1F77BD1CEC1D1CFAC98C6 S113006040E120E030E0992314F4AA9A01C0AA9850 S1130070220F331F99992160AB9A880F991F00C0F2 S11300800000AB98415079F7AC9A822F932F0895D2 @@ -19,9 +19,9 @@ S1130100660F771F660F771F862B972BA8DF08953E S11301108036910538F02FE08034920728F08FE381 S11301209FE002C080E690E0906A99DF089522E0A3 S113013087399207F0F025E18831920770F49C0129 -S113014040E050E060E678EA80E090E004D1C90144 +S113014040E050E060E678EA80E090E03AD1C9010E S113015001978068966C83DF08959C0140E050E02D -S11301606CEF72E485E090E0D4D0C9010197966CFD +S11301606CEF72E485E090E00AD1C9010197966CC6 S113017076DF089590E087709070986970E06295DA S11301807295707F7627607F76277070862B972B09 S113019066DF0895AC98999BFECF08950F931F9343 @@ -44,16 +44,23 @@ S113029081DF84ED98EBE3DE7DDF8D2F90E0986BBA S11302A0DEDE78DF8C2F90E0986BD9DE73DF80E0A0 S11302B098EBD5DE6FDF88E092E8D1DE8FE19EE433 S11302C00197F1F700C00000DF91CF91089587E313 -S11302D090E063E670E0C5DF0895DADE80E296E040 -S11302E017DF81E060E047E0F6DE80E895E21FDF9B -S11302F080E066E03FDFA59AAD9AE9DFAD988FEF25 -S113030094E3ACE081509040A040E1F700C00000CD -S1130310F3CFA1E21A2EAA1BBB1BFD010DC0AA1F1D -S1130320BB1FEE1FFF1FA217B307E407F50720F05A -S1130330A21BB30BE40BF50B661F771F881F991FD5 -S11303401A9469F760957095809590959B01AC011E -S1130350BD01CF01089597FB092E05260ED057FD48 -S113036004D0D7DF0AD0001C38F45095409530955E -S113037021953F4F4F4F5F4F0895F6F79095809525 -S1130380709561957F4F8F4F9F4F0895F894FFCFDD +S11302D090E063E670E0C5DF08951F920F920FB6B9 +S11302E00F9211242F933F934F935F936F937F93B8 +S11302F08F939F93AF93BF93EF93FF93A59AAD9A78 +S1130300E6DF8FEF94E3ACE081509040A040E1F74A +S113031000C00000AD98FF91EF91BF91AF919F9104 +S11303208F917F916F915F914F913F912F910F909A +S11303300FBE0F901F9018958A98929A85B7826085 +S113034085BF8BB780648BBF8AB780648ABF0895EA +S11303509FDE80E296E0DCDE81E060E047E0BBDE29 +S113036080E895E2E4DE80E066E004DFE5DF78948F +S11303708FE39CE90197F1F700C00000F9CFA1E2F7 +S11303801A2EAA1BBB1BFD010DC0AA1FBB1FEE1F0B +S1130390FF1FA217B307E407F50720F0A21BB30B56 +S11303A0E40BF50B661F771F881F991F1A9469F7D2 +S11303B060957095809590959B01AC01BD01CF012E +S11303C0089597FB092E05260ED057FD04D0D7DFDC +S11303D00AD0001C38F450954095309521953F4F34 +S11303E04F4F5F4F0895F6F79095809570956195FE +S10F03F07F4F8F4F9F4F0895F894FFCF6C S9030000FC diff --git a/Sender/Sender/Sender.c b/Sender/Sender/Sender.c index 94bd971..6b96374 100644 --- a/Sender/Sender/Sender.c +++ b/Sender/Sender/Sender.c @@ -5,9 +5,12 @@ * Author: netz */ +volatile int interrupt = 0; + #define F_CPU 8000000 #include +#include #include #include "rf12.h" @@ -18,20 +21,40 @@ void send() { rf12_txpacket(55,99); } +ISR(INT0_vect) { + DDRC |= (1<