From 068ab575ba5d0beddcb29922997073396f46191a Mon Sep 17 00:00:00 2001 From: Max Braungardt Date: Sat, 24 Mar 2018 20:27:55 +0100 Subject: [PATCH] Added input. Adjusted led-driver. --- sketches/input/Makefile | 31 +++++++++++++++++++ sketches/input/input.bin | Bin 0 -> 7476 bytes sketches/input/input.c | 50 +++++++++++++++++++++++++++++++ sketches/input/input.hex | 16 ++++++++++ sketches/input/input.o | Bin 0 -> 7476 bytes sketches/led-driver/led-driver.c | 17 ++++++----- 6 files changed, 106 insertions(+), 8 deletions(-) create mode 100644 sketches/input/Makefile create mode 100755 sketches/input/input.bin create mode 100644 sketches/input/input.c create mode 100644 sketches/input/input.hex create mode 100755 sketches/input/input.o diff --git a/sketches/input/Makefile b/sketches/input/Makefile new file mode 100644 index 0000000..28318bd --- /dev/null +++ b/sketches/input/Makefile @@ -0,0 +1,31 @@ +CFLAGS = -Os -Wall --std=c11 -g +CHIP = atmega328p +SOURCE_FILES = $(wildcard *.c) +OBJ_FILES = $(SOURCE_FILES:%.c=%.o) +BIN = input.bin +HEX = input.hex +ASM = input.asm + +default: $(HEX) + +%.o: %.c + avr-gcc $(CFLAGS) -mmcu=$(CHIP) -o $@ $< + +$(BIN): $(OBJ_FILES) + avr-gcc $(CFLAGS) -o $@ $^ + +$(ASM): $(BIN) + avr-objdump -d -g -l -S $^ > $@ + +$(HEX): $(BIN) + avr-objcopy -O ihex -j .text -j .data $^ $@ + +asm: $(ASM) + +flash: $(HEX) + avrdude -p $(CHIP) -c arduino -B 115200 -P /dev/ttyACM0 -v -v -e -Uflash:w:$(HEX):a + +clean: + $(RM) $(OBJ_FILES) $(BIN) $(HEX) $(ASM) + + diff --git a/sketches/input/input.bin b/sketches/input/input.bin new file mode 100755 index 0000000000000000000000000000000000000000..d2965bb9b85add1b0a1e80cee05459cd48e677ce GIT binary patch literal 7476 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 +#include +#include +#define F_CPU 20000000UL +#include +#include +//~ #define BAUD 9600 +//~ #include +#include + +uint8_t volatile status = 0; + +ISR(INT1_vect){ + status = 1; + //~ PCORT0 = 1; +} + +int main(){ + + //~ PORTD |= (1 << PORTD2); // turn On the Pull-up + // PD2 is now an input with pull-up enabled + + + EICRA |= 0x0F; // External Interrupt Control Register + // INT0 on rising edge + EIMSK |= 0x03; // External Interrupt Mask Register + // Enable INT0 for interrupt + + SREG |= 0x80; // Status Register + // Enable global interrupts + + //~ PCICR |= 0x04; // Pin Change Interrupt Control Register + //~ // Enabled PCINT[23;16] -> Pin 13,12,11,6,5,4,3,2 + //~ PCIFR |= 0x04; // Pin Change Interrupt Flag Register + + //~ PCMSK2 = 0xff; // Pin Change Mask Register 2 + //~ // Enabled PCINT[23;16] (Single Pins) + DDRC = 0xff; + + + + while(1){ + if(status){ + PORTC ^= 0x01; + status = 0; + } + PORTC ^= 0x02; + } + return 0; +} diff --git a/sketches/input/input.hex b/sketches/input/input.hex new file mode 100644 index 0000000..aabeaf9 --- /dev/null +++ b/sketches/input/input.hex @@ -0,0 +1,16 @@ +:100000000C9434000C9446000C9448000C94460068 +:100010000C9446000C9446000C9446000C94460048 +:100020000C9446000C9446000C9446000C94460038 +:100030000C9446000C9446000C9446000C94460028 +:100040000C9446000C9446000C9446000C94460018 +:100050000C9446000C9446000C9446000C94460008 +:100060000C9446000C94460011241FBECFEFD8E03C +:10007000DEBFCDBF21E0A0E0B1E001C01D92A13004 +:10008000B207E1F70E9457000C9473000C94000033 +:100090001F920F920FB60F9211248F9381E08093DD +:1000A00000018F910F900FBE0F901F9018958091B7 +:1000B00069008F60809369008DB383608DBB8FB7BB +:1000C00080688FBF8FEF87B921E092E080910001B7 +:1000D000882329F088B1822788B91092000188B15D +:0A00E000892788B9F3CFF894FFCF09 +:00000001FF diff --git a/sketches/input/input.o b/sketches/input/input.o new file mode 100755 index 0000000000000000000000000000000000000000..4939671f94b51af008082109fdfba1c5b397d2d1 GIT binary patch literal 7476 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 literal 0 HcmV?d00001 diff --git a/sketches/led-driver/led-driver.c b/sketches/led-driver/led-driver.c index 852e1c3..a8aecb4 100644 --- a/sketches/led-driver/led-driver.c +++ b/sketches/led-driver/led-driver.c @@ -58,14 +58,9 @@ void writeZero(); void writeOne(); void writeRGB(uint8_t red, uint8_t green, uint8_t blue); void writeNothing(uint8_t c); +void mydelay(uint16_t ms); -void mydelay(uint16_t ms) { - while(ms--) { - _delay_loop_2(5000); // 1ms - } -} - -int mainz() +int mainParty() { DDRC = 1; uint8_t d = 14; @@ -91,7 +86,7 @@ int mainz() return 0; } -int main() { +int main(){ DDRC = 1; // PORT C0 output // uart_init(); @@ -220,3 +215,9 @@ void writeNothing(uint8_t c){ } _delay_ms(500); } + +void mydelay(uint16_t ms) { + while(ms--) { + _delay_loop_2(5000); // 1ms + } +}