0

PIC vs Atmel
Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.

PIC vs Atmel

by Olaf Marzocchi on Wed May 17, 2006 6:13 pm

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
Olaf Marzocchi
 
Posts: 73
Joined: Mon May 08, 2006 3:29 am

by LostboY on Tue May 23, 2006 12:10 pm

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
~:We are the music makers, and we are the dreamers of dreams:~
LostboY
 
Posts: 10
Joined: Tue May 23, 2006 11:55 am
Location: AZ

by Olaf Marzocchi on Tue May 23, 2006 1:36 pm

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).
Olaf Marzocchi
 
Posts: 73
Joined: Mon May 08, 2006 3:29 am

by LostboY on Tue May 23, 2006 2:06 pm

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
~:We are the music makers, and we are the dreamers of dreams:~
LostboY
 
Posts: 10
Joined: Tue May 23, 2006 11:55 am
Location: AZ

by developerzero on Sat May 27, 2006 5:59 am

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)

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

by LostboY on Sat May 27, 2006 11:56 am

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

LosT
~:We are the music makers, and we are the dreamers of dreams:~
LostboY
 
Posts: 10
Joined: Tue May 23, 2006 11:55 am
Location: AZ

by packrat on Sun May 28, 2006 5:07 am

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
Location: Australia

by LostboY on Sun May 28, 2006 12:43 pm

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>
~:We are the music makers, and we are the dreamers of dreams:~
LostboY
 
Posts: 10
Joined: Tue May 23, 2006 11:55 am
Location: AZ

by packrat on Mon May 29, 2006 12:11 am

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
Location: Australia

by LostboY on Mon May 29, 2006 12:53 pm

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>
~:We are the music makers, and we are the dreamers of dreams:~
LostboY
 
Posts: 10
Joined: Tue May 23, 2006 11:55 am
Location: AZ

by packrat on Tue May 30, 2006 4:32 am

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
Location: Australia

by LostboY on Tue May 30, 2006 9:17 am

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 lover 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>
~:We are the music makers, and we are the dreamers of dreams:~
LostboY
 
Posts: 10
Joined: Tue May 23, 2006 11:55 am
Location: AZ

by packrat on Wed May 31, 2006 5:08 am

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 lover 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>
packrat
 
Posts: 40
Joined: Mon Feb 13, 2006 5:09 am
Location: Australia

Re: PIC vs Atmel

by westfw on Tue Jan 04, 2011 7:28 pm

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...
westfw
 
Posts: 1552
Joined: Fri Apr 27, 2007 1:01 pm
Location: SF Bay area

Please be positive and constructive with your questions and comments.