5
\$\begingroup\$

What is the difference between Codevision AVR C and Atmel AVR C compiler?

\$\endgroup\$
1
  • \$\begingroup\$ Could you be a little more specific as to (1) the products you want compared, and (2) your needs? Hint: add links, so we know which products you mean. It would also be nice if you created an account and used that account, instead of doing the unregistered user thang every time you have a question. \$\endgroup\$ Commented Nov 9, 2009 at 3:03

3 Answers 3

4
\$\begingroup\$

There isn't really much difference there may be some differences in which chips are supported under Codevision so you may want to check for the chip you plan to use.

There are different IDE's available Codevsion has its own IDE and there are different IDE to choose from for Atmel's avr C (like AVR Studio 4) But you could also use WinAVR which is uses GCC, or you could use GCC with another IDE of your choice or you can go without the IDE entirely. If you do use GCC this is a good website to check out AVR Libc. For even more information and tutorials about AVR you should check AVR Freaks.

\$\endgroup\$
3
\$\begingroup\$

Overall they're fairly similar

There are a few things that I'm aware of:

  • In Codevision you can refer to the individual bits (pins) in a port directly like: PINA.1 rather than shifting them in.
  • Storing data in program memory is a little more user friendly in Codevision
  • The Codevision compiler supplies a few pseudo registers that you can use to make sure a read from a 16-bit register is atomic.
  • Interrupts are installed differently
\$\endgroup\$
1
  • \$\begingroup\$ CodeVision also provides an easy access to EEPROM, you can declare eeprom cells as variables, and read and write them just as if they were normal global variables. It generates code to handle the actual EEPROM operations. \$\endgroup\$
    – vsz
    Commented Oct 23, 2013 at 7:58
0
\$\begingroup\$

In addition to @NeedTungsten answer, codevision support bit type global variables to be stored in specific GPIO registers. These variables only take 1 bit of memory that is very great feature in memory constrained MCUs.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.