From 49e31df61f0a868c8ee1ea2d01d123a5729cee37 Mon Sep 17 00:00:00 2001 From: Eggert Jung Date: Sat, 8 Oct 2022 23:50:31 +0200 Subject: [PATCH] initial commit --- Makefile | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++ compile_flags.txt | 18 ++++++++++++++++ main.c | 62 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ pizzabombe.hex | Bin 0 -> 4676 bytes 4 files changed, 139 insertions(+) create mode 100644 Makefile create mode 100644 compile_flags.txt create mode 100644 main.c create mode 100644 pizzabombe.hex diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..902a414 --- /dev/null +++ b/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 = atmega32 +PROGC = m32 +CC = avr-gcc +TOOL = stk500 -P /dev/ttyUSB0 +#TOOL = atmelice_isp +#TOOL = avrispmkii +#TOOL = usbasp-clone + +BUILDDIR = Builds + +DEFINES = -I . -IInternet/MQTT -I Internet/MQTT/MQTTPacket/src -I Ethernet/W5500 -I Ethernet -DF_CPU=16000000UL -D_WIZCHIP_=W5100 + +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 4MHz + +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/compile_flags.txt b/compile_flags.txt new file mode 100644 index 0000000..0994448 --- /dev/null +++ b/compile_flags.txt @@ -0,0 +1,18 @@ +-D +__AVR_ATmega32__ +-D +F_CPU=16000000UL +-D +_WIZCHIP_=W5100 +-I +/usr/lib/avr/include +-I +Internet +-I +Internet/MQTT +-I +Internet/MQTT/MQTTPacket/src +-I +Ethernet +-I +Ethernet/W5500 diff --git a/main.c b/main.c new file mode 100644 index 0000000..ed362e6 --- /dev/null +++ b/main.c @@ -0,0 +1,62 @@ +#include +#include +#include +#include + +uint8_t font[] = { + 0xEE, + 0x82, + 0xDC, + 0xD6, + 0xB2, + 0x76, + 0x7E, + 0xC2, + 0xFE, + 0xF6, +}; + +uint8_t display[4]; + +void timer0_init() +{ + TCCR0 = (1<250kHz:250-=>1kHz) + TIMSK |= 1<%R@fggk zj}5QISYT1OQaIn{^4r3d#TeH+TQtEh_>+E7_2AU;pgsNGQt3i0s1Mkt#-Mn*98E?+_M<_Z-=@3;%bsOv4qLgxz2;k#Rp zdUqSHx64p&Tiu0^8S8UlS)@VpKdOgJh5r^B0`lKG25{ChMdglCbzd|isJbn_GCs%@ zTU-am9yTC-+S5(LuD8jIMc>?~1|*Tf@w*9Ih%!dZl$Hz2JP9*^)T z1CmSOR)o(PkYWnABYeq#L{qpE;kF6srtsnjFEb(O6s|b-i@m_NO8l!$yw@!F_h|g< zOyrL^@qgGv{)iL*$4%sqIPrhRME-~q{})W;k2vvv)kOY?6aTkN*`0rulhb$xhuQ2jMmJ$Cq8Tld0i2u8iKfK?p#y=(bBToF^ zm;4b|97p}rJm;U`$`7u0z)-!AJTc7RzRDlh+Zxx;IR7?-A;Um#$Ze?MTZDS06T&Qm zRa9E7p3N0;Z6|~)Oh3&*xk-1Yo;o2IH7uXYn&i`^((-_7_McY~**QL*NDyjgpz zdGAZ~@$g!#sc?PGrGhn~x6FtcmqHfs1b8Fwt%@1-x2k%e8l!9WUzAK0ys1Ks6PE4~ z{fo%w2TY!_@C$>~%2|}6&sx+~a~7rO%NBLjoJA?}hDBX9XHkkYS=3c?7Ntn1MO`&# zQHpSjx@yj%6dAB6MROLV=qDDXXwIS(`NE7lQ;H^R;(xDAT{U47{|9X3kLwcu9X9euJWA13 zyXtORbsX0l)AZPDlOM)x(&IIo{4i#d9&g*^hcTP<*e~?}zl~{n9F%$>PI~l7JrE~7 zhNK>dlO89f9*C13UrId?R~+**2K+E#E3I5F>5w0;O8%f{(joqTNdAZu|Gy-E#EE~2 zLw-m)L;aPKfw<0 zlA}=7vBGODEm5V0z@2XtzfkkPv4-G|`C@^u)Eo4BnA8Uy{QbMuq+HLMXPpWE0-yBP zw