[time-nuts] Good (cheap) PIC chip choice for project?

Herbert Poetzl herbert at 13thfloor.at
Sat May 25 21:18:56 EDT 2013


On Sat, May 25, 2013 at 04:03:36PM -0700, Chris Albertson wrote:
> In general PICs need assembly language for many things.
> AVRs almost never need assembly. 

I've done quite a number of PIC projects, from low end
8 bit up to the high end 32 bit controllers, and except
for a really time critical software PWM solution I never
had to write in assembler (although I'm quite comfortable
with assembler code :)

> The reason is that the AVR designers studied C compilers
> and made the AVR an easy compiler target.

> A compiler writer like to have an "orthogonal" instruction 
> set and some other features. So the AVR compirrs generate 
> very good code and there is little reason to resort to 
> assembly

Recent PIC toolchains use gcc which allows for inline
assembly and provides a reasonable set of builtin 
instructions to allow for handling almost everything
within C.

The compiler does a good job, and there are proprietary
compilers available if you need to achieve really high
optimization (size or speed wise)

best,
Herbert

> On Sat, May 25, 2013 at 2:24 PM, Rex <rexa at sonic.net> wrote:
>> On 5/25/2013 1:22 PM, Bob Camp wrote:

>>> If you are going to code on a cheap PIC (the PIC16 series)
>>> you will likely need to learn PIC assembler. All my coding
>>> on those parts was in assembly language. They are old enough
>>> / slow enough / small RAM enough that things like C (or the
>>> other high level languages you listed) really don't do well
>>> on them.

>> Several years back I did a bunch of stuff with various PIC16
>> series chips. All of it, except for some minor assembler
>> tweaks, was done in C. Glad I did not know it wasn't
>> practical. I would have wasted a lot of time coding it in
>> assembler. Of course my goal was just getting something done,
>> not being elegant or very efficient. Time-nutty stuff like
>> TVB's frequency divider may require the detail and efficiency
>> only provided by assembler.

>> _______________________________________________
>> time-nuts mailing list -- time-nuts at febo.com
>> To unsubscribe, go to
>> https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts
>> and follow the instructions there.

> -- 

> Chris Albertson
> Redondo Beach, California
> _______________________________________________
> time-nuts mailing list -- time-nuts at febo.com
> To unsubscribe, go to https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts
> and follow the instructions there.


More information about the time-nuts mailing list