So with the plethora of micro-controllers out there, which do you
use/prefer and why?
I use PICs pretty much exclusively but I just had a look at ATMELs
range - to be honest, I don't see any reason to change from what I
know - am I missing anything?
Do all uCs use harvard architecture? Sometimes it would be nuice to
have data available as bytes without having to wrap it in code and
form tables. Tonight I scared myself - I caught myself googling
"microcontroller z80 core" eek!
Many micros use flash memory for code (the transitions continue) and
include a small amount of RAM. Since these are naturally separate
memory systems, often with differing needs for address lines and
directional latches to access them, and since a processor often keeps
a separate set of latches for the program counter and current
instruction under decode, it's almost like falling off a chair to make
it Harvard. It may take a little extra effort to make it appear as
von-Neumann. But there are a number of micros that take the trouble
(the MSP430, for example.) And also cores which have an external
address/data bus, like the 8051 core, can often be easily adapted,
externally, as a von-Neumann arranged memory space. (The basic 8051
chips, in fact, often are wired exactly that way and certainly can be
arranged that way in their various incarnations by manufacturers
including both flash and ram.)
PICs are fine. I like them for hobbyist use because they do well at
supporting small-qty users without a lot of hassle about it (like
asking you to work through distribution.) I also like the Atmel AVRs
and would use them, too. There is a very nice programming system for
them that isn't too expensive and includes buttons, leds, and so on so
that you can program and test some ideas right away. However, with
Atmel, I am usually routed through local distribution and/or a local
FAE (Eric Feign, in my area, has long been filling that role) for
questions. For a hobbyist, this can be a small problem, though not
necessarily.
Unless you have some reason to change, though, I think PIC is a great
place to focus on. A fairly wide range of options and a company that
will support its development tools quite literally, it seems, forever.
When you pony up the money to buy something from them, and especially
if it is a professional level tool, they will pretty much jump at your
whim and ask what you want on the way up. I've had them replace
entire units and modules at the mere suggestion that the On/Off switch
might be a "little flaky." And this, an old tool they no longer even
sell!
So I'd say stay there unless you think there is something worth having
elsewhere. It's a good company from my experience.
Jon