diff --git a/code/Builds/avr-hd44780/lcd.o b/code/Builds/avr-hd44780/lcd.o new file mode 100644 index 0000000..4116301 Binary files /dev/null and b/code/Builds/avr-hd44780/lcd.o differ diff --git a/code/Builds/main.elf b/code/Builds/main.elf new file mode 100644 index 0000000..bf35b48 Binary files /dev/null and b/code/Builds/main.elf differ diff --git a/code/Builds/main.o b/code/Builds/main.o new file mode 100644 index 0000000..16b2100 Binary files /dev/null and b/code/Builds/main.o differ diff --git a/code/Makefile b/code/Makefile new file mode 100644 index 0000000..8050431 --- /dev/null +++ b/code/Makefile @@ -0,0 +1,59 @@ +TARGET = main +SRCS := $(shell find -name '*.c') +FILES = $(SRCS:%.c=%) #main uart avrIOhelper/io-helper #uart#hier alle c-Datein reinschreiben, trennung durch " " und ohne .c-Endung +MCU = atmega328p +PROGC = m328p +CC = avr-gcc +#TOOL = stk500 -P /dev/ttyUSB0 +TOOL = atmelice_isp +#TOOL = avrispmkii +#TOOL = usbasp-clone + +BUILDDIR = Builds + +DEFINES = -DF_CPU=2000000UL -DLCD_PORT=PORTD -DLCD_DDR=DDRD + +CFLAGS =-mmcu=$(MCU) -O2 -Wall -Wpedantic $(DEFINES) -std=c99 -ffunction-sections -fdata-sections +LDFLAGS =-mmcu=$(MCU) -Wl,--gc-sections + +LDFILES = $(foreach FILE,$(FILES),$(BUILDDIR)/$(FILE).o) + +all: clean $(BUILDDIR)/$(TARGET).elf + +$(BUILDDIR)/%.o: %.c + mkdir -p $(dir $@) + $(CC) $(CFLAGS) -c $< -o $(BUILDDIR)/$*.o + +$(BUILDDIR)/$(TARGET).elf: $(LDFILES) + mkdir -p $(dir $@) + $(CC) $(LDFLAGS) $(LDFILES) -o $(BUILDDIR)/$(TARGET).elf + +$(BUILDDIR)/$(TARGET).hex : $(BUILDDIR)/$(TARGET).elf + avr-objcopy -j .data -j .text -O ihex $< $@ + +fuse: + avrdude -p $(PROGC) -c $(TOOL) -U lfuse:w:0xE8:m -U hfuse:w:0xD1:m + +load: $(BUILDDIR)/$(TARGET).hex + avrdude -p $(PROGC) -c $(TOOL) -U flash:w:$(BUILDDIR)/$(TARGET).hex -v -B 125kHz + +program: clean load + +reset: + avrdude -p $(PROGC) -c $(TOOL) + +size: $(BUILDDIR)/$(TARGET).elf + avr-size -C --mcu=$(MCU) $(BUILDDIR)/$(TARGET).elf + +.PHONY=clean +clean: + rm -rf $(BUILDDIR) + + +#Fuse m1284p external Osz. Long startuptime +# avrdude -c usbasp-clone -p m1284p -U lfuse:w:0xff:m -U hfuse:w:0xd9:m -U efuse:w:0xff:m + +#Fuse m1284p internal Osz. Long startuptime +# avrdude -c usbasp-clone -p m1284p -U lfuse:w:0xe2:m -U hfuse:w:0xd9:m -U efuse:w:0xff:m + + diff --git a/code/avr-hd44780 b/code/avr-hd44780 new file mode 160000 index 0000000..1360f8d --- /dev/null +++ b/code/avr-hd44780 @@ -0,0 +1 @@ +Subproject commit 1360f8dd0192444bee448bbab97a0ecb73941c90 diff --git a/code/main.c b/code/main.c new file mode 100644 index 0000000..9e18447 --- /dev/null +++ b/code/main.c @@ -0,0 +1,21 @@ +#include +#include +#include "avr-hd44780/lcd.h" + +int main(void){ + DDRC |= 1<<0; + DDRC |= 1<<1; + DDRD |= 1<<7; + + lcd_init(); + lcd_on(); + lcd_clear(); + lcd_puts("test"); + + while(1){ + PORTC ^= 1<<0; + _delay_ms(1000); + PORTC ^= 1<<1; + } + +}