Yahoo Groups archive

AVR-Chat

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

Message

RE: [AVR-Chat] Best language for learning AVRs (was forth)

2006-02-09 by Chuck Hackett

I guess I'd agree with Tom that assembler forces you to KNOW your hardware
environment better which is a good thing.  But, just because one is using a
higher level language like C doesn't relieve you from having to know quite a lot
about the hardware - assuming you're interacting with the world outside the chip
which is the point in microcontrollers.

For the beginner you have to have a deeper understanding of the hardware, etc.
before you can get your first "Hello World" program working: stack management,
processor initialization, etc., etc.  Heck, in microcontrollers you have to
understand how to manage a UART/USART before you'll see the "Hello World".  But
Then again, I guess the microcontroller equivalent of "Hello World" is to blink
an LED which does make things easier <g>.

I see a couple of other downsides to assembler.  It MUST be commented to be
understood by someone other than the developer and lots of programmers don't
comment worth a darn.  

The big downside is that, if you use assembler, you have made it much more
difficult to port the code to another processor family if the need should arise.
AVRs are great but do you see yourself still see yourself using only AVRs in 5
years?  10 years?

Except for time critical routines I would think that you would be better served
to use a good higher level language which is likely to be available for any
processor you might want as soon as the chip hits the market - at this point C
seems to fit that bill.

Of course there are situations where other languages are better for particular
applications - has anyone ported "Symbol" to microcontrollers?  ... not that
you'd want to as far as I can see :-)

Cheers,

Chuck Hackett
"Good judgment comes from experience, experience comes from bad judgment"
7.5" gauge Union Pacific Northern (4-8-4) 844
http://www.whitetrout.net/Chuck

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.