waihung.
ne t
http://waihung.net/pro gramming-arduino -using-atmel-studio -6/
Programming Arduino using Atmel Studio 6
Arduinos are based on Atmel microcontrollers, and they can be programmed using Atmels native IDE Atmel Studio 6. T he main reason to use Atmel Studio 6 instead of Arduino IDE is because it provides better perf ormance, Arduino IDE might be easy to use but it is slow because of inef f icient compilation. It takes more cycles to execute an instruction written in Arduino IDE. In this article, Ill be using a USBASP programmer, a custom low cost programmer made to program Atmels microcontrollers.
With it, youll need a command line tool called AVRDUDE which can be downloaded here.
Next, download Atmel Studio 6 here and install it.
Bef ore starting, youll need to add the USBASP programmer into Atmel Studio. Go to Tools > External Tools
Add a new tool and name it USBasp. Follow the conf iguration shown.
Arguments : -c usbasp -p m328p -F -U f lash:w:$(ProjectDir)Debug\$(ItemFileName).hex:i
m328p ref ers to AT mega328P, if youre programming another MCU, change it accordingly. Lets create a new project to test it out. Select GCC C Executable Project and give the project a name.
Next, select your MCU. Since Im using an Arduino Uno, itll be AT mega328P.
A project will be generated and you can use the code below in the main c f ile.
// Example Blink code // by Siew Wai Hung // ht t p://waihung.net # dene F_CPU 16000000L // Specify MCU speed so t hat delay is correct #include <avr/io.h>; #include <ut il/delay.h>; int main(void) { DDRB = 0b00100000; // set bit 5 high t o set PORTB,5 as out put // PORTB,5 is Digit al Pin 13 on t he Arduino while(1) { PORTB = 0b00100000; // set bit 5 high t o t urn on pin _delay_ms(500); PORTB = 0b00000000; // set bit 5 low t o t urn o pin _delay_ms(500); } } //
Click on Build > Build Solution to compile. Upon successf ul compilation, proceed to upload the code by going to Tools > USBasp
T he LED on the Arduino should blink if everything goes as planned.