From cc4321ae40db04f4457a00c719d613e2d22fb11c Mon Sep 17 00:00:00 2001 From: Arti Zirk Date: Mon, 5 Sep 2016 19:00:01 +0300 Subject: [PATCH] Add a led blinking code and a build script --- build.sh | 4 ++++ src/main.c | 18 ++++++++++++++++++ 2 files changed, 22 insertions(+) create mode 100644 build.sh diff --git a/build.sh b/build.sh new file mode 100644 index 0000000..a7e1801 --- /dev/null +++ b/build.sh @@ -0,0 +1,4 @@ +avr-gcc -Os -DF_CPU=16000000UL -Wall -Wextra -Wpedantic -Wformat -pedantic-errors -Werror -Wfatal-errors -mmcu=atmega2560 -c -o src/main.o src/main.c +avr-gcc -mmcu=atmega2560 src/main.o -o bin/atmega2560-user-code.elf +avr-objcopy -O ihex -R .eeprom bin/atmega2560-user-code.elf bin/atmega2560-user-code.ihx +avrdude -v -F -V -c stk500v2 -p m2560 -P /dev/ttyACM0 -b 115200 -U flash:w:bin/atmega2560-user-code.ihx diff --git a/src/main.c b/src/main.c index e69de29..efad7bf 100644 --- a/src/main.c +++ b/src/main.c @@ -0,0 +1,18 @@ +#include +#include + +#define BLINK_DELAY_MS 1000 + +int main (void) +{ + /* set pin 25 of PORTB for output*/ + DDRA |= _BV(DDA3); + while(1) { + /* set pin 25 high to turn led on */ + PORTA |= _BV(PORTA3); + _delay_ms(BLINK_DELAY_MS); + /* set pin 25 low to turn led off */ + PORTA &= ~_BV(PORTA3); + _delay_ms(BLINK_DELAY_MS); + } +}