Let's Make Robots!

How many PIC users here

I was wondering how many PIC users are on LMR and what languages are being used.  I am currently a fan of the dsPIC33's and use C and assembly for programming.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

The answer is "lots and lots".

I'd say a good chunk of the PIC users are using PICAXE (ie BASIC), but I favour RISC on the 16x series.

To my surprise I have started enjoying using the more low (or is it high, can never remember) - level features of Picaxe; I see myself writing and reading to EEPROM, masking bits in bytes, setting flags and that kind of stuff.

So the answer may be; One Picaxe user here, considering listening to good old BOA and take up some low/high(whatever)-level coding..

It's low. I'm low. You're high. :-)
I am always high! :P

I have been using PICs for over a decade. I do not program in BASIC and I don't like 'C' for microcontrollers. Here is my take on the two ...

Assembly language let's you get right down to the lowest level of control you can get. It gives you the freedom to apply 'bit twiddling' tricks in the code to do things in a much smaller space.

'C' is simply much easier to read and understand, just like BASIC. However, C requires a software stack ( which the old PIC16 devices don't have ) and 'C' compilers tend to create more code. For instance, I can get an L.E.D. to blink on an output pin in 20 or so bytes of assembler code. The same thing in 'C' might take anywhere from 50 to 100 bytes of code due to the setup and 'preamble' of every 'C' program.

To make a long story even longer, I do both. I use assembler for PIC and AVR work, and C#/.NET for windows apps.

If you cut out all the pre-written libraries, C has about 32 commands or something. I don't understand why anyone uses it. RISC assembler on a PIC has only 32 commands or something similar.

I use C for everything that has "soft" real time requirements and assembly for all "hard"(must happen in a certain time quantum) requirements.  

Nothing like some lightning fast DSP code with a C API you can give to the new grunt - oops I meant new graduate!

...is, I think, the word you're looking for. C provides very good determinism, actually. It's the pre-built libraries where this all falls apart. There's an awful lot of genericism built into them meaning that at a particular snapshot in time, it's quite impossible to know the absolute state of the machine.
I was wondering if there would be any interest in an arduino type board based on the ds33, 24F, or 16F micro.  Since mplab and the student version of the C30 compiler are free I was thinking of doing an open board design project here.  Let me know what you guys think.

I'd love to have a piece of that action. The thing is, I'd prefer a board with an ICSP header, whereas most of the guys would probably prefer a serial downlink (a la picaxe) connector. I don't know enough about the picaxe to add both, so I let it lie.

I have a few ideas for features specific to amateur robotics which should be added to such a board.