Commit 32d40949 authored by Petter Breedveld's avatar Petter Breedveld

Latest LF version, lacking some comments

parent 642b8eed
......@@ -28,7 +28,7 @@
* Check the datasheet to find out which pins on which ports the different LEDs and buttons are connected to.
*/
#define LED0 4 // LED0 is connected to pin 4 on port B
#define LED0 4 // LED0 is connected to pin 4 on port B (PIN4_bp)
int main(void){
/**
......
......@@ -15,7 +15,7 @@
#include <util/delay.h>
/*
* Checkout the ATtiny817 datasheet to find the correct ports and pins
* Check out the ATtiny817 datasheet to find the correct ports and pins
*/
// LED
......
/*
* PWM.c
* PWM-LF.c
*
* Created: 29.01.2017 23:43:39
* Author : Petter
......@@ -26,35 +26,35 @@ bool SW1_pressed,SW2_pressed; //Keeping track of button status
int main(void)
{
//Set LED pins as output
PORTB_DIR |= (1 << LED1) | (1 << LED2) | (1 << LED3);
PORTB.DIRSET = (1 << LED1) | (1 << LED2) | (1 << LED3);
//Because the LEDs are active low, we invert the output
PORTB_PIN0CTRL |= (1 << PORT_INVEN_bp);
PORTB_PIN1CTRL |= (1 << PORT_INVEN_bp);
PORTB_PIN4CTRL |= (1 << PORT_INVEN_bp);
PORTB.PIN0CTRL |= (1 << PORT_INVEN_bp);
PORTB.PIN1CTRL |= (1 << PORT_INVEN_bp);
PORTB.PIN4CTRL |= (1 << PORT_INVEN_bp);
//Pullups
PORTA_PIN5CTRL |= (1 << PORT_PULLUPEN_bp);
PORTA_PIN6CTRL |= (1 << PORT_PULLUPEN_bp);
PORTA_PIN7CTRL |= (1 << PORT_PULLUPEN_bp);
PORTA.PIN5CTRL |= (1 << PORT_PULLUPEN_bp);
PORTA.PIN6CTRL |= (1 << PORT_PULLUPEN_bp);
PORTA.PIN7CTRL |= (1 << PORT_PULLUPEN_bp);
//Set clock prescaler div256
TCA0_SINGLE_CTRLA |= (TCA_SINGLE_ENABLE_bm); //Enable timer
TCA0_SINGLE_CTRLB |= (0x05 << TCA_SINGLE_WGMODE0_bp); //Set mode to single slope
TCA0.SINGLE.CTRLA |= (TCA_SINGLE_ENABLE_bm); //Enable timer
TCA0.SINGLE.CTRLB |= (0x05 << TCA_SINGLE_WGMODE0_bp); //Set mode to single slope
TCA0_SINGLE_CTRLB |= (TCA_SINGLE_CMP0EN_bm) | (TCA_SINGLE_CMP1EN_bm);
TCA0.SINGLE.CTRLB |= (TCA_SINGLE_CMP0EN_bm) | (TCA_SINGLE_CMP1EN_bm);
TCA0_SINGLE_PER = 0x0fff; //We set our top to have a sufficiently high frequency (Top at 16 bit (0xffff) ~25Hz, 12 bit (0x0fff) ~400Hz)
TCA0_SINGLE_CMP0 = 0x0000;
TCA0_SINGLE_CMP1 = 0x0fff;
TCA0.SINGLE.PER = 0x0fff; //We set our top to have a sufficiently high frequency (Top at 16 bit (0xffff) ~25Hz, 12 bit (0x0fff) ~400Hz)
TCA0.SINGLE.CMP0 = 0x0000;
TCA0.SINGLE.CMP1 = 0x0fff;
while(1){
if (!(PORTA_IN & (1 << SW1))){
if (!(PORTA.IN & (1 << SW1))){
if(!SW1_pressed){
TCA0_SINGLE_CMP0 = (((TCA0_SINGLE_CMP0 << 1) + 1) & (0x0fff)); //Shift in a 1, and cut off excess to 12 bit
TCA0_SINGLE_CMP1 >>= 1;
TCA0.SINGLE.CMP0 = (((TCA0.SINGLE.CMP0 << 1) + 1) & (0x0fff)); //Shift in a 1, and cut off excess to 12 bit
TCA0.SINGLE.CMP1 >>= 1;
SW1_pressed = true;
}
}
......@@ -65,8 +65,8 @@ int main(void)
if (!(PORTA_IN & (1 << SW2))){
if(!SW2_pressed){
TCA0_SINGLE_CMP1 = (((TCA0_SINGLE_CMP1 << 1) + 1) & (0x0fff)); //Shift in a 1, and cut off excess to 12 bit
TCA0_SINGLE_CMP0 >>= 1;
TCA0.SINGLE.CMP1 = (((TCA0.SINGLE.CMP1 << 1) + 1) & (0x0fff)); //Shift in a 1, and cut off excess to 12 bit
TCA0.SINGLE.CMP0 >>= 1;
SW2_pressed = true;
}
}
......
/*
* TIMER.c
* TIMER-LF.c
*
* Created: 29.01.2017 23:43:39
* Author : Petter
......@@ -23,34 +23,34 @@ int main(void)
First set up the LEDs like in the previous exercise. You can either copy paste from the previous exercise or start fresh.
*/
PORTB_DIR |= (1 << LED1) | (1 << LED2);
PORTB_OUTTGL |= (1 << LED1); //Only to start with LEDs off
PORTB.DIR = (1 << LED1) | (1 << LED2);
PORTB.OUTTGL = (1 << LED1); //Only to start with LEDs off
//We will be using a timer overflow interupt with timer A
//We set the prescaler to clk=clk/256
TCA0_SINGLE_CTRLA |= (TCA_SINGLE_CLKSEL_DIV256_gc) | (TCA_SINGLE_ENABLE_bm);
TCA0.SINGLE.CTRLA |= (TCA_SINGLE_CLKSEL_DIV256_gc) | (TCA_SINGLE_ENABLE_bm);
//Next we Enable timer interupts on overflow
TCA0_SINGLE_INTCTRL |= ( TCA_SINGLE_OVF_bm);
TCA0.SINGLE.INTCTRL |= (TCA_SINGLE_OVF_bm);
uint16_t counterTop = 0x4000;
TCA0_SINGLE_PER = counterTop;
TCA0.SINGLE.PER = counterTop;
//Enable global interrupts
sei();
while(1){
//Do other things?
}
}
ISR(TCA0_OVF_vect){
PORTB_OUTTGL |= (1 << LED1) | (1 << LED2);
PORTB.OUTTGL = (1 << LED1) | (1 << LED2);
TCA0_SINGLE_INTFLAGS |= ( TCA_SINGLE_OVF_bm); //Clear the interupt flag
TCA0.SINGLE.INTFLAGS |= ( TCA_SINGLE_OVF_bm); //Clear the interupt flag
  • Interrupt-flagg slettes vanligvis (og også i dette tilfellet) ved å skrive en 1 til flagget. Siden dette er et helt register fult av intflag vil i så fall INTFLAGS |= whatever Altid slette alle flaggene i dette registeret. Erstatt med TCA0.SINGLE.INTFLAGS = TCA_SINGLE_OVF_bm og kommenter akkurat denne problemstillingen?

Please register or sign in to reply
}
\ No newline at end of file
......@@ -6,46 +6,48 @@
*/
#define F_CPU 3333333UL
#define BAUD_9600 ((4UL*F_CPU)/9600)
#include <avr/io.h>
#include <avr/interrupt.h>
#include <util/delay.h>
#include <stdbool.h>
void uart_init(int baud){
int baudRate = ((4UL*F_CPU)/baud); //CLK_PER = CLK_CPU, see 10.2.1
void uart_init(unsigned long baud){
//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
USART0_CTRLA |= (1 << USART_RXCIE_bp); //Enable interrupts on incomming data
PORTB.OUTSET = (1 << PIN2_bp);
PORTB.DIRSET = (1 << PIN2_bp); //Setting up TX pin as output
USART0.BAUDH = (baud >> 8); //Shift register right by 8 bits
USART0.BAUDL = baud; //Set baud rate
//USART.CTRLC CMODE bits default to async, 1 stop bit, 8 bit character size
USART0.CTRLB |= (1 << USART_RXEN_bp) | (1 << USART_TXEN_bp); //Enable RX and TX
USART0.CTRLA |= (1 << USART_RXCIE_bp); //Enable interrupts on incomming data
}
// function to transmit data
void uart_transmit(unsigned char data){
while (!(USART0_STATUS & (1 << USART_DREIF_bp)));
USART0_TXDATAH = 0x00; //Is needed!
USART0_TXDATAL = data;
while (!(USART0.STATUS & (1 << USART_DREIF_bp))){
//wait for previous transmit to finish
};
USART0.TXDATAH = 0x00; //Is needed!
USART0.TXDATAL = data;
}
int main(void)
{
uart_init(9600); //start uart with baudrate of 9600
uart_init(BAUD_9600); //start uart with baudrate of 9600
sei(); //Important for anything here to work
while (1)
{
//Do nothing, interrupts handle everything
}
}
......@@ -53,7 +55,8 @@ int main(void)
//Interrupt service routine for the receiver.
ISR(USART0_RXC_vect){
uart_transmit(USART0_RXDATAL);
USART0_STATUS |= (1 << USART_RXCIF_bp);
uint8_t data = USART0_RXDATAL;
//Do things with data:
uart_transmit(data + 1); //Example: Shift all characters by one step A -> B, B -> C etc.
}
\ No newline at end of file

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}") = "Task1_LF", "Task1_LF\Task1_LF.cproj", "{DCE6C7E3-EE26-4D79-826B-08594B9AD897}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{571AD486-B75D-41DA-B29C-67D05CD878FB}"
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
......@@ -37,9 +37,9 @@ SUBDIRS :=
# Add inputs and outputs from these tool invocations to the build variables
C_SRCS += \
../display.c \
../adc.c \
../main.c \
../spi.c
../uart.c
PREPROCESSING_SRCS +=
......@@ -49,28 +49,28 @@ ASM_SRCS +=
OBJS += \
display.o \
adc.o \
main.o \
spi.o
uart.o
OBJS_AS_ARGS += \
display.o \
adc.o \
main.o \
spi.o
uart.o
C_DEPS += \
display.d \
adc.d \
main.d \
spi.d
uart.d
C_DEPS_AS_ARGS += \
display.d \
adc.d \
main.d \
spi.d
uart.d
OUTPUT_FILE_PATH +=Task1.elf
OUTPUT_FILE_PATH +=Task1_LF.elf
OUTPUT_FILE_PATH_AS_ARGS +=Task1.elf
OUTPUT_FILE_PATH_AS_ARGS +=Task1_LF.elf
ADDITIONAL_DEPENDENCIES:=
......@@ -121,13 +121,13 @@ 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="Task1.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"
$(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="Task1_LF.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 "Task1.elf" "Task1.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 "Task1.elf" "Task1.eep" || exit 0
"D:\Atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-objdump.exe" -h -S "Task1.elf" > "Task1.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 "Task1.elf" "Task1.srec"
"D:\Atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-size.exe" "Task1.elf"
"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 "Task1_LF.elf" "Task1_LF.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 "Task1_LF.elf" "Task1_LF.eep" || exit 0
"D:\Atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-objdump.exe" -h -S "Task1_LF.elf" > "Task1_LF.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 "Task1_LF.elf" "Task1_LF.srec"
"D:\Atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-size.exe" "Task1_LF.elf"
......@@ -139,5 +139,5 @@ $(OUTPUT_FILE_PATH): $(OBJS) $(USER_OBJS) $(OUTPUT_FILE_DEP) $(LIB_DEP) $(LINKER
clean:
-$(RM) $(OBJS_AS_ARGS) $(EXECUTABLES)
-$(RM) $(C_DEPS_AS_ARGS)
rm -rf "Task1.elf" "Task1.a" "Task1.hex" "Task1.lss" "Task1.eep" "Task1.map" "Task1.srec" "Task1.usersignatures"
rm -rf "Task1_LF.elf" "Task1_LF.a" "Task1_LF.hex" "Task1_LF.lss" "Task1_LF.eep" "Task1_LF.map" "Task1_LF.srec" "Task1_LF.usersignatures"
\ No newline at end of file
:1000000019C02AC029C028C027C026C025C024C0C6
:1000100023C022C021C020C01FC01EC01DC01CC0E4
:100020001BC01AC019C018C017C016C0A2C014C087
:1000300013C012C011241FBECFEFCDBFDFE3DEBF60
:100040002EE3A0E0BEE301C01D92A430B207E1F7A9
:100050000E944E000C94E0000C940000E0E0F6E0FA
:1000600080818460808381818260818382818061DC
:100070008283828182838081816080830895E0E031
:10008000F6E08683838581608387808581608087B1
:10009000838580FFFDCF8091100608956CE675E0A2
:1000A00080E090E00E9497000E942E007894CDECB2
:1000B00086E00E943F0080958C9F912D112496959B
:1000C00096959695392F330F232F220F220F230F4A
:1000D000821B8093013E9C9F812D112486958695DD
:1000E0008695382F330F232F220F220F230F921BB9
:1000F0009093023E8093033E8093003E805D0E9479
:10010000AF008091023E805D0E94AF008091013E71
:10011000805D0E94AF0080E20E94AF002AE28CE284
:100120009AE0215080409040E1F70000C1CF0F934A
:100130001F93E0E2F4E024E025832183072F182FAA
:10014000292F3327E0E0F8E0018760878681806C03
:1001500086838581806885831F910F910895E0E0F3
:10016000F8E0948195FFFDCFE0E0F8E01382828310
:1001700008951F920F920FB60F9211242F933F9361
:100180004F935F936F937F938F939F93AF93BF939F
:10019000EF93FF93809100088F5F0E94AF00FF9163
:1001A000EF91BF91AF919F918F917F916F915F91EF
:1001B0004F913F912F910F900FBE0F901F90189568
:0401C000F894FFCFE1
:00000001FF
This diff is collapsed.
S01000005461736B315F4C462E737265635F
S113000019C02AC029C028C027C026C025C024C0C2
S113001023C022C021C020C01FC01EC01DC01CC0E0
S11300201BC01AC019C018C017C016C0A2C014C083
S113003013C012C011241FBECFEFCDBFDFE3DEBF5C
S11300402EE3A0E0BEE301C01D92A430B207E1F7A5
S11300500E944E000C94E0000C940000E0E0F6E0F6
S113006080818460808381818260818382818061D8
S11300708283828182838081816080830895E0E02D
S1130080F6E08683838581608387808581608087AD
S1130090838580FFFDCF8091100608956CE675E09E
S11300A080E090E00E9497000E942E007894CDECAE
S11300B086E00E943F0080958C9F912D1124969597
S11300C096959695392F330F232F220F220F230F46
S11300D0821B8093013E9C9F812D112486958695D9
S11300E08695382F330F232F220F220F230F921BB5
S11300F09093023E8093033E8093003E805D0E9475
S1130100AF008091023E805D0E94AF008091013E6D
S1130110805D0E94AF0080E20E94AF002AE28CE280
S11301209AE0215080409040E1F70000C1CF0F9346
S11301301F93E0E2F4E024E025832183072F182FA6
S1130140292F3327E0E0F8E0018760878681806CFF
S113015086838581806885831F910F910895E0E0EF
S1130160F8E0948195FFFDCFE0E0F8E0138282830C
S113017008951F920F920FB60F9211242F933F935D
S11301804F935F936F937F938F939F93AF93BF939B
S1130190EF93FF93809100088F5F0E94AF00FF915F
S11301A0EF91BF91AF919F918F917F916F915F91EB
S11301B04F913F912F910F900FBE0F901F90189564
S10701C0F894FFCFDD
S9030000FC
spi.d spi.o: .././spi.c \
adc.d adc.o: .././adc.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 \
......@@ -10,8 +10,7 @@ spi.d spi.o: .././spi.c \
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 \
.././spi.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\io.h:
......@@ -36,5 +35,3 @@ 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:
.././spi.h:
display.d display.o: .././display.c \
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 \
......@@ -14,10 +14,8 @@ display.d display.o: .././display.c \
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 \
.././display.h .././spi.h .././font8x8.h \
d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\pgmspace.h \
d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\4.9.2\include\stddef.h
d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\interrupt.h \
.././adc.h .././uart.h
d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\io.h:
......@@ -49,14 +47,8 @@ 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\interrupt.h:
.././display.h:
.././adc.h:
.././spi.h:
.././font8x8.h:
d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\pgmspace.h:
d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\4.9.2\include\stddef.h:
.././uart.h:
......@@ -2,9 +2,9 @@
# Automatically-generated file. Do not edit or delete the file
################################################################################
display.c
adc.c
main.c
spi.c
uart.c
main.d main.o: .././main.c \
uart.d uart.o: .././uart.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 \
......@@ -11,9 +11,7 @@ main.d main.o: .././main.c \
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\pgmspace.h \
d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\4.9.2\include\stddef.h \
.././display.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\avr\io.h:
......@@ -39,8 +37,4 @@ 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\pgmspace.h:
d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\4.9.2\include\stddef.h:
.././display.h:
d:\atmel\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\interrupt.h:
......@@ -41,7 +41,7 @@
<Attribute>template</Attribute>
<Category>source</Category>
<Condition>C Exe</Condition>
<FileContentHash>O2yWymrSfn3sPpCu0MxKXg==</FileContentHash>
<FileContentHash>TQP/y9cNoVvAMzruFBs53A==</FileContentHash>
<FileVersion></FileVersion>
<Name>templates/main.c</Name>
<SelectString>Main file (.c)</SelectString>
......
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="14.0">
<PropertyGroup>
<SchemaVersion>2.0</SchemaVersion>
<ProjectVersion>7.0</ProjectVersion>
<ToolchainName>com.Atmel.AVRGCC8.C</ToolchainName>
<ProjectGuid>dce6c7e3-ee26-4d79-826b-08594b9ad897</ProjectGuid>
<avrdevice>ATtiny817</avrdevice>
<avrdeviceseries>none</avrdeviceseries>
<OutputType>Executable</OutputType>
<Language>C</Language>
<OutputFileName>$(MSBuildProjectName)</OutputFileName>
<OutputFileExtension>.elf</OutputFileExtension>
<OutputDirectory>$(MSBuildProjectDirectory)\$(Configuration)</OutputDirectory>
<AssemblyName>Task1_LF</AssemblyName>
<Name>Task1_LF</Name>
<RootNamespace>Task1_LF</RootNamespace>
<ToolchainFlavour>Native</ToolchainFlavour>
<KeepTimersRunning>true</KeepTimersRunning>
<OverrideVtor>false</OverrideVtor>
<CacheFlash>true</CacheFlash>
<ProgFlashFromRam>true</ProgFlashFromRam>
<RamSnippetAddress />
<UncachedRange />
<preserveEEPROM>true</preserveEEPROM>
<OverrideVtorValue />
<BootSegment>2</BootSegment>
<eraseonlaunchrule>0</eraseonlaunchrule>
<AsfFrameworkConfig>
<framework-data xmlns="">
<options />
<configurations />
<files />
<documentation help="" />
<offline-documentation help="" />
<dependencies>
<content-extension eid="atmel.asf" uuidref="Atmel.ASF" version="3.32.0" />
</dependencies>
</framework-data>
</AsfFrameworkConfig>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
<ToolchainSettings>
<AvrGcc>
<avrgcc.common.Device>-mmcu=attiny817 -B "%24(PackRepoDir)\atmel\ATtiny_DFP\1.1.102\gcc\dev\attiny817"</avrgcc.common.Device>
<avrgcc.common.outputfiles.hex>True</avrgcc.common.outputfiles.hex>
<avrgcc.common.outputfiles.lss>True</avrgcc.common.outputfiles.lss>
<avrgcc.common.outputfiles.eep>True</avrgcc.common.outputfiles.eep>
<avrgcc.common.outputfiles.srec>True</avrgcc.common.outputfiles.srec>
<avrgcc.common.outputfiles.usersignatures>False</avrgcc.common.outputfiles.usersignatures>
<avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned>True</avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned>
<avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned>True</avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned>
<avrgcc.compiler.symbols.DefSymbols>
<ListValues>
<Value>NDEBUG</Value>
</ListValues>
</avrgcc.compiler.symbols.DefSymbols>
<avrgcc.compiler.directories.IncludePaths>
<ListValues>
<Value>%24(PackRepoDir)\atmel\ATtiny_DFP\1.1.102\include</Value>
</ListValues>
</avrgcc.compiler.directories.IncludePaths>
<avrgcc.compiler.optimization.level>Optimize for size (-Os)</avrgcc.compiler.optimization.level>
<avrgcc.compiler.optimization.PackStructureMembers>True</avrgcc.compiler.optimization.PackStructureMembers>
<avrgcc.compiler.optimization.AllocateBytesNeededForEnum>True</avrgcc.compiler.optimization.AllocateBytesNeededForEnum>
<avrgcc.compiler.warnings.AllWarnings>True</avrgcc.compiler.warnings.AllWarnings>
<avrgcc.linker.libraries.Libraries>
<ListValues>
<Value>libm</Value>
</ListValues>
</avrgcc.linker.libraries.Libraries>
<avrgcc.assembler.general.IncludePaths>
<ListValues>
<Value>%24(PackRepoDir)\atmel\ATtiny_DFP\1.1.102\include</Value>
</ListValues>
</avrgcc.assembler.general.IncludePaths>
</AvrGcc>
</ToolchainSettings>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
<ToolchainSettings>
<AvrGcc>
<avrgcc.common.Device>-mmcu=attiny817 -B "%24(PackRepoDir)\atmel\ATtiny_DFP\1.1.102\gcc\dev\attiny817"</avrgcc.common.Device>
<avrgcc.common.outputfiles.hex>True</avrgcc.common.outputfiles.hex>
<avrgcc.common.outputfiles.lss>True</avrgcc.common.outputfiles.lss>
<avrgcc.common.outputfiles.eep>True</avrgcc.common.outputfiles.eep>
<avrgcc.common.outputfiles.srec>True</avrgcc.common.outputfiles.srec>
<avrgcc.common.outputfiles.usersignatures>False</avrgcc.common.outputfiles.usersignatures>
<avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned>True</avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned>
<avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned>True</avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned>
<avrgcc.compiler.symbols.DefSymbols>
<ListValues>
<Value>DEBUG</Value>
</ListValues>
</avrgcc.compiler.symbols.DefSymbols>
<avrgcc.compiler.directories.IncludePaths>
<ListValues>
<Value>%24(PackRepoDir)\atmel\ATtiny_DFP\1.1.102\include</Value>
</ListValues>
</avrgcc.compiler.directories.IncludePaths>
<avrgcc.compiler.optimization.level>Optimize (-O1)</avrgcc.compiler.optimization.level>
<avrgcc.compiler.optimization.PackStructureMembers>True</avrgcc.compiler.optimization.PackStructureMembers>
<avrgcc.compiler.optimization.AllocateBytesNeededForEnum>True</avrgcc.compiler.optimization.AllocateBytesNeededForEnum>
<avrgcc.compiler.optimization.DebugLevel>Default (-g2)</avrgcc.compiler.optimization.DebugLevel>
<avrgcc.compiler.warnings.AllWarnings>True</avrgcc.compiler.warnings.AllWarnings>
<avrgcc.linker.libraries.Libraries>
<ListValues>
<Value>libm</Value>
</ListValues>
</avrgcc.linker.libraries.Libraries>
<avrgcc.assembler.general.IncludePaths>
<ListValues>
<Value>%24(PackRepoDir)\atmel\ATtiny_DFP\1.1.102\include</Value>
</ListValues>
</avrgcc.assembler.general.IncludePaths>
<avrgcc.assembler.debugging.DebugLevel>Default (-Wa,-g)</avrgcc.assembler.debugging.DebugLevel>
</AvrGcc>
</ToolchainSettings>
</PropertyGroup>
<ItemGroup>
<Compile Include="adc.c">
<SubType>compile</SubType>
</Compile>
<Compile Include="adc.h">
<SubType>compile</SubType>
</Compile>
<Compile Include="main.c">
<SubType>compile</SubType>
</Compile>
<Compile Include="uart.c">
<SubType>compile</SubType>
</Compile>
<Compile Include="uart.h">