Yahoo Groups archive

AVR-Chat

Index last updated: 2026-04-28 22:41 UTC

Message

Re: Beginner

2004-10-16 by Don Kinzer

--- In AVR-Chat@yahoogroups.com, NGUYEN NGA VIET <vnn_hi@y...> wrote:
> [...]I found WinAVR first and started to learn to use it.
> Somebody suggested me to use ICC-avr.

I've heard good things about the ICC C compiler.  It is somewhat 
expensive, though.  I know a fellow who purchased the less expensive 
CodeVision compiler and he likes it a lot.

I have used the WinAVR C compiler and found it to be pretty good.  
That, coupled with the cost (free) seems to me to be a pretty 
compelling case.  The WinAVR C compiler is actually a C/C++ 
compiler.  Depending on your project, you might be able to code it in 
C++ to some advantage.  However, C++ has quite a bit more overhead 
than does C.

Especially if you choose to go with C, you'll also want to understand 
assembly language.  In some cases, you can figure out what's wrong 
with your code by looking at the assembly language code that the 
compiler generates.  Moreover, on the occasion that the compiler does 
generate code that is less efficient than you need, you can code 
those critical parts in assembly language.

The appeal of Bascom is that Basic is fairly easy to learn.  Some 
people are intimidated by C and find Basic more palatable.  I have 
used, and still use, both languages.  I find C to be much more 
expressive and I'm more productive using it.  Bascom has a good 
library of I/O routines that you may be able to employ.  The downside 
is that the provided routines are necessarily limited in the scope of 
what they can do.  If what you need is not quite addressed by the 
routines provided, you'll still have to implement it by hand.  On the 
other hand, if you do a bit of searching, you can often find C or 
assembly language routines, with source, that you can adapt to fit 
your specific needs.

Attachments

Move to quarantaine

This moves the raw source file on disk only. The archive index is not changed automatically, so you still need to run a manual refresh afterward.