How programing in AVR studio different frm Adruino progming?

Just want to know how progrmming in AVR studio and Programming in Adruino different from each other?

As far as i understood, if i program in AVR, i have to use a programmmer to wirte the hex code to the ATmega chip and then use the chip with the supporting circuty to run the program. But in the case of Adruino, the supporting circuity is already present in the board. Am I right?

And in the software side, Adrunio IDE provides a lot more libraries etc etc rt?

Kindly correct me if i am wrong.

Also Is the C of AVR and Adruino IDE different?

I have done programming in AVR studio 8. But havent worked in Adruino. Is it good to move to adruino ? I feel there are more libraries and all available in adruino compared to AVR studio. Kindly advise.

There's a bit of ambiguity, since Arduino is the company behind the Arduino development board, running the Arduino software. :wink:

Breaking it all down, the Arduino board is based on an AVR microprocessor. The Arduino IDE uses plain old C++, it just takes care of much of the housekeeping stuff for you so you can focus on the "do something" code. Nonetheless, it's still using AVR libc, gcc, and all those familiar tools behind the curtain. All that's different is some pre-processing before the code gets handed to the typical AVR toolchain.

If you look at the Arduino core libraries, you'll see a bunch of calls to AVR libc stuff. For example, digitalWrite() just twiddles the PORT, PIN, and DDR stuff under the hood. delay() and millis() just make use of a timer interrupt, and so on.

When it comes to uploading your code, there's another difference. The Arduino IDE expects to talk to an on-chip bootloader that speaks the STK 500 protocol. If you've been around AVR development, you have probably crossed paths with it before. However, you can also use an ICSP programmer to burn the bootloader to bare ICs, or just upload your code directly and bypass the bootloader entirely.

It's not "better" per se to go from AVR to Arduino, or vice versa. Arduino is in fact just a custom framework on top of AVR C. If that framework makes your life easier, then so be it. You can use plain AVR code to program the Arduino board, and you can use Arduino code on a standalone AVR. If you're crafty, you can even use AVR Studio with the Arduino framework.

Using the Arduino IDE together with the dev board makes for a nice and easy-to-use package, but if you've already gotten over the learning curve of doing without either or both, going full Arduino could either be a step backwards (the IDE is somewhat dumb when you're used to proper C development), or it could be a welcome relief from minutiae. I find it's both. :smiley:

Thanks a lot for the info sirnikity :slight_smile: