Commit 9e82acec authored by Petter Breedveld's avatar Petter Breedveld

lf på de fleste oppgaver

parent ac92074c
/*
* Initial_test.c
*
* Created: 29.01.2017 23:43:39
* Author : Petter
*/
#define F_CPU 3333333UL
#include <avr/io.h>
#include <avr/delay.h>
#include <avr/interrupt.h>
#define LED1 0 // port B, connected to WO0
#define LED2 1 // port B, connected to WO1
#define LED3 4 // Port B
int main(void)
{
PORTB_DIR |= (1 << LED1) | (1 << LED2) | (1 << LED3);
PORTB_OUT |= (1 << LED1) | (1 << LED2) | (1 << LED3);
//Set clock prescaler div256
TCA0_SINGLE_CTRLA |= (TCA_SINGLE_CLKSEL_DIV256_gc) | (TCA_SINGLE_ENABLE_bm);
TCA0_SINGLE_INTCTRL |= ( TCA_SINGLE_OVF_bm);
uint16_t counterTop = 0x4000;
TCA0_SINGLE_PER = counterTop;
sei();
while(1){
}
}
ISR(TCA0_OVF_vect){
cli();
PORTB_OUT ^= (1 << LED1);
_delay_ms(100);
PORTB_OUT ^= (1 << LED2);
_delay_ms(100);
PORTB_OUT ^= (1 << LED3);
TCA0_SINGLE_INTFLAGS |= ( TCA_SINGLE_OVF_bm);
sei();
}
\ No newline at end of file
/*
* Initial_test.c
Please register or sign in to reply
*
* Created: 29.01.2017 23:43:39
* Author : Petter
*/
#define F_CPU 3333333UL
#include <avr/io.h>
#include <avr/interrupt.h>
#include <util/delay.h>
#include <stdbool.h>
  • Jeg kan selvfølgelig ta feil, men jeg ser ikke at stdbool faktisk blir brukt i koden?

Please register or sign in to reply
void uart_init(int baud){
int baudRate = ((4UL*F_CPU)/baud); //CLK_PER = CLK_CPU, see 10.2.1
  • Mens dette ser ut som om det virker, er divisjon med variabel teller en overraskende tung operasjon på en liten AVR. Vurder om dette heller burde vært løst med en #define BAUD_9600 ((4UL*F_CPU)/9600) Slik at dette blir optimert compile-time. Avhengig av optimeringsgraden kan den måten som er brukt også kunne bli tilsvarende (hvis compileren finner det for godt å inline funskjonen), men med mindre man trenger å kunne variere baud on the fly vil det være ryddigere å gjøre det sånn. (man kan erstatte argumentet til init-funksjonen med BAUD_9600, evt. bake den inn og fjerne argumentet )

Please register or sign in to reply
//From chapter 24.3 in datasheet
PORTB_OUT |= (1 << 2);
PORTB_DIR |= (1 << 2); //Setting up TX pin as output
USART0_BAUDH = (baudRate >> 8); //Shift register right by 8 bits
USART0_BAUDL = baudRate; //Set baud rate
//USART_CTRLC CMODE bits default async, 1 stop bit, 8 bit character size
USART0_CTRLB |= (1 << USART_RXEN_bp) | (1 << USART_TXEN_bp); //Enable RX and TX
}
// function to recieve data
unsigned char uart_recieve (void){
Please register or sign in to reply
while (!(USART0_STATUS & (1 << USART_RXCIF_bp)));
return USART0_RXDATAL;
}
// function to transmit data
void uart_transmit(unsigned char data){
while (!(USART0_STATUS & (1 << USART_DREIF_bp)));
USART0_TXDATAL = data;
}
int main(void)
{
unsigned char a; // to hold the data
uart_init(9600); //start uart with baudrate of 9600
PORTB_DIR |= (1 << PIN4_bp); //Setup onboard led for signaling
  • Hvis man har kommet så langt som å introdusere _bp kan det være nyttig å bruke (eller påpeke i en kommentar) PIN4_bm i stedet for (1 << PIN4_bp).

    Edited by Snorre Nilssen Vestli
Please register or sign in to reply
PORTB_OUT |= (1 << PIN4_bp);
while (1)
{
a = uart_recieve(); // save the recieved data in varible a
  • Ren uart loopback kan innimellom være litt uheldig som eksempel da en del terminalprogram automatisk gir deg loopback om du ikke får det over serieporten. Det funker, men det går ann å vurdere å endre oppgaven/eksempelet til å bruke en eller annen form for spørsmål/svar over uart.

Please register or sign in to reply
PORTB_OUT &= ~(1 << PIN4_bp);
uart_transmit(a); // transmit the recieved data back
_delay_ms(100);
PORTB_OUT |= (1 << PIN4_bp);
}
}

Microsoft Visual Studio Solution File, Format Version 12.00
# Atmel Studio Solution File, Format Version 11.00
VisualStudioVersion = 14.0.23107.0
MinimumVisualStudioVersion = 10.0.40219.1
Project("{54F91283-7BC4-4236-8FF9-10F437C3AD48}") = "UART", "UART\UART.cproj", "{DCE6C7E3-EE26-4D79-826B-08594B9AD897}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|AVR = Debug|AVR
Release|AVR = Release|AVR
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{DCE6C7E3-EE26-4D79-826B-08594B9AD897}.Debug|AVR.ActiveCfg = Debug|AVR
{DCE6C7E3-EE26-4D79-826B-08594B9AD897}.Debug|AVR.Build.0 = Debug|AVR
{DCE6C7E3-EE26-4D79-826B-08594B9AD897}.Release|AVR.ActiveCfg = Release|AVR
{DCE6C7E3-EE26-4D79-826B-08594B9AD897}.Release|AVR.Build.0 = Release|AVR
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal
################################################################################
# Automatically-generated file. Do not edit!
################################################################################
SHELL := cmd.exe
RM := rm -rf
USER_OBJS :=
LIBS :=
PROJ :=
O_SRCS :=
C_SRCS :=
S_SRCS :=
S_UPPER_SRCS :=
OBJ_SRCS :=
ASM_SRCS :=
PREPROCESSING_SRCS :=
OBJS :=
OBJS_AS_ARGS :=
C_DEPS :=
C_DEPS_AS_ARGS :=
EXECUTABLES :=
OUTPUT_FILE_PATH :=
OUTPUT_FILE_PATH_AS_ARGS :=
AVR_APP_PATH :=$$$AVR_APP_PATH$$$
QUOTE := "
ADDITIONAL_DEPENDENCIES:=
OUTPUT_FILE_DEP:=
LIB_DEP:=
LINKER_SCRIPT_DEP:=
# Every subdirectory with source files must be described here
SUBDIRS :=
# Add inputs and outputs from these tool invocations to the build variables
C_SRCS += \
../main.c
PREPROCESSING_SRCS +=
ASM_SRCS +=
OBJS += \
main.o
OBJS_AS_ARGS += \
main.o
C_DEPS += \
main.d
C_DEPS_AS_ARGS += \
main.d
OUTPUT_FILE_PATH +=UART.elf
OUTPUT_FILE_PATH_AS_ARGS +=UART.elf
ADDITIONAL_DEPENDENCIES:=
OUTPUT_FILE_DEP:= ./makedep.mk
LIB_DEP+=
LINKER_SCRIPT_DEP+=
# AVR32/GNU C Compiler
./%.o: .././%.c
@echo Building file: $<
@echo Invoking: AVR/GNU C Compiler : 4.9.2
$(QUOTE)D:\Atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-gcc.exe$(QUOTE) -x c -funsigned-char -funsigned-bitfields -DDEBUG -I"D:\Atmel\7.0\Packs\atmel\ATtiny_DFP\1.1.102\include" -O1 -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -g2 -Wall -mmcu=attiny817 -B "D:\Atmel\7.0\Packs\atmel\ATtiny_DFP\1.1.102\gcc\dev\attiny817" -c -std=gnu99 -MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -o "$@" "$<"
@echo Finished building: $<
# AVR32/GNU Preprocessing Assembler
# AVR32/GNU Assembler
ifneq ($(MAKECMDGOALS),clean)
ifneq ($(strip $(C_DEPS)),)
-include $(C_DEPS)
endif
endif
# Add inputs and outputs from these tool invocations to the build variables
# All Target
all: $(OUTPUT_FILE_PATH) $(ADDITIONAL_DEPENDENCIES)
$(OUTPUT_FILE_PATH): $(OBJS) $(USER_OBJS) $(OUTPUT_FILE_DEP) $(LIB_DEP) $(LINKER_SCRIPT_DEP)
@echo Building target: $@
@echo Invoking: AVR/GNU Linker : 4.9.2
$(QUOTE)D:\Atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-gcc.exe$(QUOTE) -o$(OUTPUT_FILE_PATH_AS_ARGS) $(OBJS_AS_ARGS) $(USER_OBJS) $(LIBS) -Wl,-Map="UART.map" -Wl,--start-group -Wl,-lm -Wl,--end-group -Wl,--gc-sections -mmcu=attiny817 -B "D:\Atmel\7.0\Packs\atmel\ATtiny_DFP\1.1.102\gcc\dev\attiny817"
@echo Finished building target: $@
"D:\Atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-objcopy.exe" -O ihex -R .eeprom -R .fuse -R .lock -R .signature -R .user_signatures "UART.elf" "UART.hex"
"D:\Atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-objcopy.exe" -j .eeprom --set-section-flags=.eeprom=alloc,load --change-section-lma .eeprom=0 --no-change-warnings -O ihex "UART.elf" "UART.eep" || exit 0
"D:\Atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-objdump.exe" -h -S "UART.elf" > "UART.lss"
"D:\Atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-objcopy.exe" -O srec -R .eeprom -R .fuse -R .lock -R .signature -R .user_signatures "UART.elf" "UART.srec"
"D:\Atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-size.exe" "UART.elf"
# Other Targets
clean:
-$(RM) $(OBJS_AS_ARGS) $(EXECUTABLES)
-$(RM) $(C_DEPS_AS_ARGS)
rm -rf "UART.elf" "UART.a" "UART.hex" "UART.lss" "UART.eep" "UART.map" "UART.srec" "UART.usersignatures"
\ No newline at end of file
:1000000019C022C021C020C01FC01EC01DC01CC0FE
:100010001BC01AC019C018C017C016C015C014C024
:1000200013C012C011C010C00FC00EC00DC00CC054
:100030000BC00AC011241FBECFEFCDBFDFE3DEBF70
:100040000E9458000C949D000C9400009C01990F94
:10005000440B550B64E573E78BEC90E00E947B004A
:10006000E4E2F4E0808184608083E0E2F4E0808177
:1000700084608083832F992787FD9A958093090850
:1000800020930808E6E0F8E08081806C8083089582
:10009000E4E0F8E080818823ECF78091000808957F
:1000A000E4E0F8E0908195FFFDCF80930208089589
:1000B00080E895E20E942600E0E2F4E08081806121
:1000C0008083E4E2F4E0808180618083C4E2D4E054
:1000D0000E94480098819F7E98830E9450002AE6E3
:1000E00084E091E0215080409040E1F700C0888199
:1000F00080618883EDCFA1E21A2EAA1BBB1BFD01F4
:100100000DC0AA1FBB1FEE1FFF1FA217B307E407F6
:10011000F50720F0A21BB30BE40BF50B661F771F4E
:10012000881F991F1A9469F760957095809590952E
:0E0130009B01AC01BD01CF010895F894FFCFF3
:00000001FF
UART.elf: file format elf32-avr
Sections:
Idx Name Size VMA LMA File off Algn
0 .data 00000000 00803e00 00803e00 00000192 2**0
CONTENTS, ALLOC, LOAD, DATA
1 .text 0000013e 00000000 00000000 00000054 2**1
CONTENTS, ALLOC, LOAD, READONLY, CODE
2 .comment 00000030 00000000 00000000 00000192 2**0
CONTENTS, READONLY
3 .note.gnu.avr.deviceinfo 0000003c 00000000 00000000 000001c4 2**2
CONTENTS, READONLY
4 .debug_aranges 00000038 00000000 00000000 00000200 2**0
CONTENTS, READONLY, DEBUGGING
5 .debug_info 0000183c 00000000 00000000 00000238 2**0
CONTENTS, READONLY, DEBUGGING
6 .debug_abbrev 00001692 00000000 00000000 00001a74 2**0
CONTENTS, READONLY, DEBUGGING
7 .debug_line 000002e2 00000000 00000000 00003106 2**0
CONTENTS, READONLY, DEBUGGING
8 .debug_frame 00000054 00000000 00000000 000033e8 2**2
CONTENTS, READONLY, DEBUGGING
9 .debug_str 00000b34 00000000 00000000 0000343c 2**0
CONTENTS, READONLY, DEBUGGING
10 .debug_loc 00000039 00000000 00000000 00003f70 2**0
CONTENTS, READONLY, DEBUGGING
11 .debug_ranges 00000028 00000000 00000000 00003fa9 2**0
CONTENTS, READONLY, DEBUGGING
Disassembly of section .text:
00000000 <__vectors>:
0: 19 c0 rjmp .+50 ; 0x34 <__ctors_end>
2: 22 c0 rjmp .+68 ; 0x48 <__bad_interrupt>
4: 21 c0 rjmp .+66 ; 0x48 <__bad_interrupt>
6: 20 c0 rjmp .+64 ; 0x48 <__bad_interrupt>
8: 1f c0 rjmp .+62 ; 0x48 <__bad_interrupt>
a: 1e c0 rjmp .+60 ; 0x48 <__bad_interrupt>
c: 1d c0 rjmp .+58 ; 0x48 <__bad_interrupt>
e: 1c c0 rjmp .+56 ; 0x48 <__bad_interrupt>
10: 1b c0 rjmp .+54 ; 0x48 <__bad_interrupt>
12: 1a c0 rjmp .+52 ; 0x48 <__bad_interrupt>
14: 19 c0 rjmp .+50 ; 0x48 <__bad_interrupt>
16: 18 c0 rjmp .+48 ; 0x48 <__bad_interrupt>
18: 17 c0 rjmp .+46 ; 0x48 <__bad_interrupt>
1a: 16 c0 rjmp .+44 ; 0x48 <__bad_interrupt>
1c: 15 c0 rjmp .+42 ; 0x48 <__bad_interrupt>
1e: 14 c0 rjmp .+40 ; 0x48 <__bad_interrupt>
20: 13 c0 rjmp .+38 ; 0x48 <__bad_interrupt>
22: 12 c0 rjmp .+36 ; 0x48 <__bad_interrupt>
24: 11 c0 rjmp .+34 ; 0x48 <__bad_interrupt>
26: 10 c0 rjmp .+32 ; 0x48 <__bad_interrupt>
28: 0f c0 rjmp .+30 ; 0x48 <__bad_interrupt>
2a: 0e c0 rjmp .+28 ; 0x48 <__bad_interrupt>
2c: 0d c0 rjmp .+26 ; 0x48 <__bad_interrupt>
2e: 0c c0 rjmp .+24 ; 0x48 <__bad_interrupt>
30: 0b c0 rjmp .+22 ; 0x48 <__bad_interrupt>
32: 0a c0 rjmp .+20 ; 0x48 <__bad_interrupt>
00000034 <__ctors_end>:
34: 11 24 eor r1, r1
36: 1f be out 0x3f, r1 ; 63
38: cf ef ldi r28, 0xFF ; 255
3a: cd bf out 0x3d, r28 ; 61
3c: df e3 ldi r29, 0x3F ; 63
3e: de bf out 0x3e, r29 ; 62
40: 0e 94 58 00 call 0xb0 ; 0xb0 <main>
44: 0c 94 9d 00 jmp 0x13a ; 0x13a <_exit>
00000048 <__bad_interrupt>:
48: 0c 94 00 00 jmp 0 ; 0x0 <__vectors>
0000004c <uart_init>:
#include <util/delay.h>
#include <stdbool.h>
void uart_init(int baud){
int baudRate = ((4UL*F_CPU)/baud); //CLK_PER = CLK_CPU, see tabell 24-2
4c: 9c 01 movw r18, r24
4e: 99 0f add r25, r25
50: 44 0b sbc r20, r20
52: 55 0b sbc r21, r21
54: 64 e5 ldi r22, 0x54 ; 84
56: 73 e7 ldi r23, 0x73 ; 115
58: 8b ec ldi r24, 0xCB ; 203
5a: 90 e0 ldi r25, 0x00 ; 0
5c: 0e 94 7b 00 call 0xf6 ; 0xf6 <__udivmodsi4>
//From chapter 24.3 in datasheet
PORTB_OUT |= (1 << 2);
60: e4 e2 ldi r30, 0x24 ; 36
62: f4 e0 ldi r31, 0x04 ; 4
64: 80 81 ld r24, Z
66: 84 60 ori r24, 0x04 ; 4
68: 80 83 st Z, r24
PORTB_DIR |= (1 << 2); //Setting up TX pin as output
6a: e0 e2 ldi r30, 0x20 ; 32
6c: f4 e0 ldi r31, 0x04 ; 4
6e: 80 81 ld r24, Z
70: 84 60 ori r24, 0x04 ; 4
72: 80 83 st Z, r24
USART0_BAUDH = (baudRate >> 8); //Shift register right by 8 bits
74: 83 2f mov r24, r19
76: 99 27 eor r25, r25
78: 87 fd sbrc r24, 7
7a: 9a 95 dec r25
7c: 80 93 09 08 sts 0x0809, r24 ; 0x800809 <__TEXT_REGION_LENGTH__+0x700809>
USART0_BAUDL = baudRate; //Set baud rate
80: 20 93 08 08 sts 0x0808, r18 ; 0x800808 <__TEXT_REGION_LENGTH__+0x700808>
//control bits default async, 1 stop bit, 8 bit character size
USART0_CTRLB |= (1 << USART_RXEN_bp) | (1 << USART_TXEN_bp); //Enable RX and TX
84: e6 e0 ldi r30, 0x06 ; 6
86: f8 e0 ldi r31, 0x08 ; 8
88: 80 81 ld r24, Z
8a: 80 6c ori r24, 0xC0 ; 192
8c: 80 83 st Z, r24
8e: 08 95 ret
00000090 <uart_recieve>:
}
// function to recieve data
unsigned char uart_recieve (void){
while (!(USART0_STATUS & (1 << USART_RXCIF_bp)));
90: e4 e0 ldi r30, 0x04 ; 4
92: f8 e0 ldi r31, 0x08 ; 8
94: 80 81 ld r24, Z
96: 88 23 and r24, r24
98: ec f7 brge .-6 ; 0x94 <uart_recieve+0x4>
return USART0_RXDATAL;
9a: 80 91 00 08 lds r24, 0x0800 ; 0x800800 <__TEXT_REGION_LENGTH__+0x700800>
}
9e: 08 95 ret
000000a0 <uart_transmit>:
// function to transmit data
void uart_transmit(unsigned char data){
while (!(USART0_STATUS & (1 << USART_DREIF_bp)));
a0: e4 e0 ldi r30, 0x04 ; 4
a2: f8 e0 ldi r31, 0x08 ; 8
a4: 90 81 ld r25, Z
a6: 95 ff sbrs r25, 5
a8: fd cf rjmp .-6 ; 0xa4 <uart_transmit+0x4>
USART0_TXDATAL = data;
aa: 80 93 02 08 sts 0x0802, r24 ; 0x800802 <__TEXT_REGION_LENGTH__+0x700802>
ae: 08 95 ret
000000b0 <main>:
int main(void)
{
unsigned char a; // to hold the data
uart_init(9600); //start uart with baudrate of 9600
b0: 80 e8 ldi r24, 0x80 ; 128
b2: 95 e2 ldi r25, 0x25 ; 37
b4: 0e 94 26 00 call 0x4c ; 0x4c <uart_init>
PORTB_DIR |= (1 << PIN4_bp); //Setup onboard led for signaling
b8: e0 e2 ldi r30, 0x20 ; 32
ba: f4 e0 ldi r31, 0x04 ; 4
bc: 80 81 ld r24, Z
be: 80 61 ori r24, 0x10 ; 16
c0: 80 83 st Z, r24
PORTB_OUT |= (1 << PIN4_bp);
c2: e4 e2 ldi r30, 0x24 ; 36
c4: f4 e0 ldi r31, 0x04 ; 4
c6: 80 81 ld r24, Z
c8: 80 61 ori r24, 0x10 ; 16
ca: 80 83 st Z, r24
while (1)
{
a = uart_recieve(); // save the recieved data in varible a
PORTB_OUT &= ~(1 << PIN4_bp);
cc: c4 e2 ldi r28, 0x24 ; 36
ce: d4 e0 ldi r29, 0x04 ; 4
PORTB_OUT |= (1 << PIN4_bp);
while (1)
{
a = uart_recieve(); // save the recieved data in varible a
d0: 0e 94 48 00 call 0x90 ; 0x90 <uart_recieve>
PORTB_OUT &= ~(1 << PIN4_bp);
d4: 98 81 ld r25, Y
d6: 9f 7e andi r25, 0xEF ; 239
d8: 98 83 st Y, r25
uart_transmit(a); // transmit the recieved data back
da: 0e 94 50 00 call 0xa0 ; 0xa0 <uart_transmit>
#else
//round up by default
__ticks_dc = (uint32_t)(ceil(fabs(__tmp)));
#endif
__builtin_avr_delay_cycles(__ticks_dc);
de: 2a e6 ldi r18, 0x6A ; 106
e0: 84 e0 ldi r24, 0x04 ; 4
e2: 91 e0 ldi r25, 0x01 ; 1
e4: 21 50 subi r18, 0x01 ; 1
e6: 80 40 sbci r24, 0x00 ; 0
e8: 90 40 sbci r25, 0x00 ; 0
ea: e1 f7 brne .-8 ; 0xe4 <main+0x34>
ec: 00 c0 rjmp .+0 ; 0xee <main+0x3e>
_delay_ms(100);
PORTB_OUT |= (1 << PIN4_bp);
ee: 88 81 ld r24, Y
f0: 80 61 ori r24, 0x10 ; 16
f2: 88 83 st Y, r24
}
f4: ed cf rjmp .-38 ; 0xd0 <main+0x20>
000000f6 <__udivmodsi4>:
f6: a1 e2 ldi r26, 0x21 ; 33
f8: 1a 2e mov r1, r26
fa: aa 1b sub r26, r26
fc: bb 1b sub r27, r27
fe: fd 01 movw r30, r26
100: 0d c0 rjmp .+26 ; 0x11c <__udivmodsi4_ep>
00000102 <__udivmodsi4_loop>:
102: aa 1f adc r26, r26
104: bb 1f adc r27, r27
106: ee 1f adc r30, r30
108: ff 1f adc r31, r31
10a: a2 17 cp r26, r18
10c: b3 07 cpc r27, r19
10e: e4 07 cpc r30, r20
110: f5 07 cpc r31, r21
112: 20 f0 brcs .+8 ; 0x11c <__udivmodsi4_ep>
114: a2 1b sub r26, r18
116: b3 0b sbc r27, r19
118: e4 0b sbc r30, r20
11a: f5 0b sbc r31, r21
0000011c <__udivmodsi4_ep>:
11c: 66 1f adc r22, r22
11e: 77 1f adc r23, r23
120: 88 1f adc r24, r24
122: 99 1f adc r25, r25
124: 1a 94 dec r1
126: 69 f7 brne .-38 ; 0x102 <__udivmodsi4_loop>
128: 60 95 com r22
12a: 70 95 com r23
12c: 80 95 com r24
12e: 90 95 com r25
130: 9b 01 movw r18, r22
132: ac 01 movw r20, r24
134: bd 01 movw r22, r26
136: cf 01 movw r24, r30
138: 08 95 ret
0000013a <_exit>:
13a: f8 94 cli
0000013c <__stop_program>:
13c: ff cf rjmp .-2 ; 0x13c <__stop_program>
This diff is collapsed.
S00C0000554152542E73726563DC
S113000019C022C021C020C01FC01EC01DC01CC0FA
S11300101BC01AC019C018C017C016C015C014C020
S113002013C012C011C010C00FC00EC00DC00CC050
S11300300BC00AC011241FBECFEFCDBFDFE3DEBF6C
S11300400E9458000C949D000C9400009C01990F90
S1130050440B550B64E573E78BEC90E00E947B0046
S1130060E4E2F4E0808184608083E0E2F4E0808173
S113007084608083832F992787FD9A95809309084C
S113008020930808E6E0F8E08081806C808308957E
S1130090E4E0F8E080818823ECF78091000808957B
S11300A0E4E0F8E0908195FFFDCF80930208089585
S11300B080E895E20E942600E0E2F4E0808180611D
S11300C08083E4E2F4E0808180618083C4E2D4E050
S11300D00E94480098819F7E98830E9450002AE6DF
S11300E084E091E0215080409040E1F700C0888195
S11300F080618883EDCFA1E21A2EAA1BBB1BFD01F0
S11301000DC0AA1FBB1FEE1FFF1FA217B307E407F2
S1130110F50720F0A21BB30BE40BF50B661F771F4A
S1130120881F991F1A9469F760957095809590952A
S11101309B01AC01BD01CF010895F894FFCFEF
S9030000FC
main.d main.o: .././main.c \
d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\io.h \
d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\sfr_defs.h \
d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\inttypes.h \
d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\4.9.2\include\stdint.h \
d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdint.h \
D:\Atmel\7.0\Packs\atmel\ATtiny_DFP\1.1.102\include/avr/iotn817.h \
d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\portpins.h \
d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\common.h \
d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\version.h \
d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\xmega.h \
d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\fuse.h \
d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\lock.h \
d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\interrupt.h \
d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\util\delay.h \
d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\util\delay_basic.h \
d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\math.h \
d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\4.9.2\include\stdbool.h
d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\io.h:
d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\sfr_defs.h:
d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\inttypes.h:
d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\4.9.2\include\stdint.h:
d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdint.h:
D:\Atmel\7.0\Packs\atmel\ATtiny_DFP\1.1.102\include/avr/iotn817.h:
d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\portpins.h:
d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\common.h:
d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\version.h:
d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\xmega.h:
d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\fuse.h:
d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\lock.h:
d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\interrupt.h:
d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\util\delay.h:
d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\util\delay_basic.h:
d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\math.h:
d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\4.9.2\include\stdbool.h:
################################################################################
# Automatically-generated file. Do not edit or delete the file
################################################################################
main.c
<?xml version="1.0" encoding="utf-8"?>
<Store xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="AtmelPackComponentManagement">
<ProjectComponents>
<ProjectComponent z:Id="i1" xmlns:z="http://schemas.microsoft.com/2003/10/Serialization/">
<CApiVersion></CApiVersion>
<CBundle></CBundle>
<CClass>Device</CClass>
<CGroup>Startup</CGroup>
<CSub></CSub>
<CVariant></CVariant>
<CVendor>Atmel</CVendor>
<CVersion>1.1.0</CVersion>
<DefaultRepoPath>D:/Atmel\7.0\Packs</DefaultRepoPath>
<DependentComponents xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays" />
<Description></Description>
<Files xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d4p1:anyType i:type="FileInfo">
<AbsolutePath>D:/Atmel\7.0\Packs\atmel\ATtiny_DFP\1.1.102\include</AbsolutePath>
<Attribute></Attribute>
<Category>include</Category>
<Condition>C</Condition>
<FileContentHash i:nil="true" />