PIC vs Atmel

Forum Administrative - NOT PROJECT OR "HELP"

Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.
Locked
User avatar
olaf_marzocchi
 
Posts: 73
Joined: Mon May 08, 2006 3:29 am

PIC vs Atmel

Post by olaf_marzocchi »

I am developing a small amplifier and I need a microcontroller to set up the volume and to check for the status of the amplifier chip (logic output, I need a couple of pins for this).

I need a timer or two and no pwm and I never used microcontrollers.

Could someone point me the differences between pic and atmels? why should I choose one instead of the other? I know C and I don't want to be forced to use assembly (but it's ok to be able to use it, if I want).

Thank you

LostboY
 
Posts: 10
Joined: Tue May 23, 2006 11:55 am

Post by LostboY »

Generally use what you are used to.

You should also find the 'best fit' for your project (i.e. flavor of uController)- get what you need, with a little room for growth (the dynamic process of developing the project may lead you to other functions as you go...)

LosT

User avatar
olaf_marzocchi
 
Posts: 73
Joined: Mon May 08, 2006 3:29 am

Post by olaf_marzocchi »

I never used a controller...
This is the reason I asked this question.

Probably I will use atmels, since I can develop code for them with a Mac (gcc-avr) in C language. I heard there are pic C compilers, but none for the mac (free).

LostboY
 
Posts: 10
Joined: Tue May 23, 2006 11:55 am

Post by LostboY »

Correct, there are C compilers out there for PICs, as well as for the SX chips from Senix.

There are other flavors of uControllers out there that use Java, C#, etc.

LosT

User avatar
developerzero
 
Posts: 2
Joined: Sat May 27, 2006 4:49 am

Post by developerzero »

I can't say much about Atmel devices, but I do know this much about PICs:they are fairly inexspensive to get started with. In addition to the chip, you are also going to need to get a programmer in order to burn-in your chips. You can get a programmer Microchip makes a pair fairly inexspensive programmers (the PicKit and PicKit 2). They are both about $50, and can each program a wide variety of devices (they program different devices, due to the differing pinouts). The PicKit 2 also has a free, limited capability C compiler made by a company called Hi-Tech.

I personally own the PicKit 2, and really like it. The only thing I am unsure of is Mac support (I use a PC). As a matter of fact, I don't believe Microchip makes any programmers for the Mac at all. There are also a number of free, or low-cost, schematics for making your own programmer. If you have access to a PC, I highly suggest you go with the PicKit 2.

Finally, I would also like to mention that Assembly isn't really all that difficult. (Although this does vary from person to person)

LostboY
 
Posts: 10
Joined: Tue May 23, 2006 11:55 am

Post by LostboY »

You can always make your own programmer as well....

LosT

packrat
 
Posts: 40
Joined: Mon Feb 13, 2006 5:09 am

Post by packrat »

1. You can make at atmel parallel-port programmer with a db25 plug, a programmer plug, and a handful of wires. Cost? a few dollars or nothing if you happen to have the parts around. Serial ones are nicer, which can of course be used on a mac with a USB-serial widget.

2. PICs are generally dumbed down and aimed at very low-level hobbyists. Take PIC-basic for example, or the crippled ADs on the lower end PIC chips.

3. What sort of microcontrollers use C# and Java? Are you sure you read 'microcontroller' correctly? There will generally be C compilers out there for any traditional architecture chip with a stack. They just generate the assembly so you don't have to. Using something like java is, a little off-base.

I don't like PICs, I think AVRs are great.

B>

LostboY
 
Posts: 10
Joined: Tue May 23, 2006 11:55 am

Post by LostboY »

Yes, I read uController correctly.

There are several out there that support Java: The Javelin (Parallax), the JSTAMP (?) etc.

C# - the .net CPU from Micro$oft. (Also called "Spot")- but I guess you wouldn't have seen one of those yet...

The SXes will have yet another C compiler (so I'm told) and a C++ one as well...

Then there is the Propeller from Parallax, uses "spin" and ASM....

If you want to hone skills, go for some of the 68HCxx series from Motorolla- old chips, but programming for them will build a better ASM foundation, due to the lack of regs, space, etc.



packrat wrote:1. You can make at atmel parallel-port programmer with a db25 plug, a programmer plug, and a handful of wires. Cost? a few dollars or nothing if you happen to have the parts around. Serial ones are nicer, which can of course be used on a mac with a USB-serial widget.

2. PICs are generally dumbed down and aimed at very low-level hobbyists. Take PIC-basic for example, or the crippled ADs on the lower end PIC chips.

3. What sort of microcontrollers use C# and Java? Are you sure you read 'microcontroller' correctly? There will generally be C compilers out there for any traditional architecture chip with a stack. They just generate the assembly so you don't have to. Using something like java is, a little off-base.

I don't like PICs, I think AVRs are great.

B>

packrat
 
Posts: 40
Joined: Mon Feb 13, 2006 5:09 am

Post by packrat »

LostboY wrote:Yes, I read uController correctly.

There are several out there that support Java: The Javelin (Parallax), the JSTAMP (?) etc.

C# - the .net CPU from Micro$oft. (Also called "Spot")- but I guess you wouldn't have seen one of those yet...

The SXes will have yet another C compiler (so I'm told) and a C++ one as well...

Then there is the Propeller from Parallax, uses "spin" and ASM....

If you want to hone skills, go for some of the 68HCxx series from Motorolla- old chips, but programming for them will build a better ASM foundation, due to the lack of regs, space, etc.
I don't consider the embedded java application processors to be microcontrollers in the normal sense of the word. They have far more in common with a general-purpose microprocessor.

Spot stuff? Seems to be mostly running on 32-bit ARM chips, which when running emulation layers like a .net machine really sit in the general purpose microprocessor camp. Building a general purpose PC in SoC configuration doesn't make it a microcontroller.

C++ in a microcontroller? That's a crutch for programmers working in the wrong field. Or more likely not a microcontroller.

And finally, the HCxxx stuff is awful. I've wasted too many years teaching it to undergraduates. It's useful only as a missing link between teaching very basic CPU architecture and looking at a working chip. It's crippled by early-80s architectural assumptions. To say nothing of the additional (useless) effort integrating the things, compared to something like an AVR.

You'd be far better off working with AVR assembly, you get a nice instruction set and a sensible chunk of registers.

B>

LostboY
 
Posts: 10
Joined: Tue May 23, 2006 11:55 am

Post by LostboY »

To each his own. At no time did I attempt to rank or place the value of one micro above the others. You are of course entitled to your opinion. I am of the belief that you use what you need- a sledge hammer is overkill when a tack hammer will do. And the lists were simply to show the OP what options are out there...I like to let people make up their own minds.

Stick with your AVRs if that is what makes you happy. Learning to write on an HC series helps develop more efficient coding in my opinion.

The speed of the SX (in ASM, of course) is more valuable to me in many of my applications than "a nice instruction set and a sensible chunk of registers".

LosT

packrat wrote:
LostboY wrote:Yes, I read uController correctly.

There are several out there that support Java: The Javelin (Parallax), the JSTAMP (?) etc.

C# - the .net CPU from Micro$oft. (Also called "Spot")- but I guess you wouldn't have seen one of those yet...

The SXes will have yet another C compiler (so I'm told) and a C++ one as well...

Then there is the Propeller from Parallax, uses "spin" and ASM....

If you want to hone skills, go for some of the 68HCxx series from Motorolla- old chips, but programming for them will build a better ASM foundation, due to the lack of regs, space, etc.
I don't consider the embedded java application processors to be microcontrollers in the normal sense of the word. They have far more in common with a general-purpose microprocessor.

Spot stuff? Seems to be mostly running on 32-bit ARM chips, which when running emulation layers like a .net machine really sit in the general purpose microprocessor camp. Building a general purpose PC in SoC configuration doesn't make it a microcontroller.

C++ in a microcontroller? That's a crutch for programmers working in the wrong field. Or more likely not a microcontroller.

And finally, the HCxxx stuff is awful. I've wasted too many years teaching it to undergraduates. It's useful only as a missing link between teaching very basic CPU architecture and looking at a working chip. It's crippled by early-80s architectural assumptions. To say nothing of the additional (useless) effort integrating the things, compared to something like an AVR.

You'd be far better off working with AVR assembly, you get a nice instruction set and a sensible chunk of registers.

B>

packrat
 
Posts: 40
Joined: Mon Feb 13, 2006 5:09 am

Post by packrat »

LostboY wrote:Stick with your AVRs if that is what makes you happy. Learning to write on an HC series helps develop more efficient coding in my opinion.

The speed of the SX (in ASM, of course) is more valuable to me in many of my applications than "a nice instruction set and a sensible chunk of registers".
But the SXs have both a sensible instruction set and a nice chunk of registers. About the only things that don't these days are hangovers from the 80s like the HC11/HC12.

While I feel that the HC12 is a useful teaching tool, writing anything substantial tends to result in you spending most of your time trying to swap registers. As handy as that is, it tends to overshadow all the other things you'd like people to learn. The more RISC-flavoured reguar instruction set + bunch of registers better reflects modern architectures.

B>

LostboY
 
Posts: 10
Joined: Tue May 23, 2006 11:55 am

Post by LostboY »

I'd agree with that- save that teaching with stripped down hardware helps students understand *why* things evolved like they have-

I think it is akin to schools that are trying to teac OOP to students by starting them with Java- I think that this is a mistake- everything is an object in Java, but some students don't even have a concept of what an object even is...(I am by no means a BANNED of Java, or C# for that matter)-

LosT
packrat wrote:
LostboY wrote:Stick with your AVRs if that is what makes you happy. Learning to write on an HC series helps develop more efficient coding in my opinion.

The speed of the SX (in ASM, of course) is more valuable to me in many of my applications than "a nice instruction set and a sensible chunk of registers".
But the SXs have both a sensible instruction set and a nice chunk of registers. About the only things that don't these days are hangovers from the 80s like the HC11/HC12.

While I feel that the HC12 is a useful teaching tool, writing anything substantial tends to result in you spending most of your time trying to swap registers. As handy as that is, it tends to overshadow all the other things you'd like people to learn. The more RISC-flavoured reguar instruction set + bunch of registers better reflects modern architectures.

B>

packrat
 
Posts: 40
Joined: Mon Feb 13, 2006 5:09 am

Post by packrat »

LostboY wrote:I'd agree with that- save that teaching with stripped down hardware helps students understand *why* things evolved like they have-
I understand that this is very useful, but I'm not sure you can spend too much time teaching the how-tech-evolved in a course. Instead, you provide hints and the better students will be interested enough to find out on their own time.
I think it is akin to schools that are trying to teac OOP to students by starting them with Java- I think that this is a mistake- everything is an object in Java, but some students don't even have a concept of what an object even is...(I am by no means a BANNED of Java, or C# for that matter)-
This is why I'm a huge fan of teaching beginning programmers with a language like Pascal. I've found that a lot of students working their way through Java or some similarly overdone OOP language have little concept of a variable and can't figure out how many times a while loop will run.

To say nothing of what happens to these students when they try to work in a language where memory isn't magically handled for them.

B>

User avatar
westfw
 
Posts: 2008
Joined: Fri Apr 27, 2007 1:01 pm

Re: PIC vs Atmel

Post by westfw »

I will not get involved in "processor wars."
there are pic C compilers, but none for the mac (free).
I'm been using cc5x (one of the PIC C compilers with a free "limited version") on a Mac under Wine.

You might also want to consider the TI MPS430. Right now you can get a "launchpad" development system for about $5, though you might have to wait a couple months for it to arrive...

Locked
Please be positive and constructive with your questions and comments.

Return to “Administrative (closed)”