Salgat said:
I've been working on AVRs for several months and really enjoy both the STK500 and all the free software that comes along with the AVR. I want to diversify my experience with microcontrollers and want to get a PIC programmer to work with. Is the PICKIT2 the standard?
The PICkit 2 is very, very good. I guess it's as close to a standard as there is. Probably the equivalent of the AVR Dragon, only the Dragon does even more.
Are C compilers free for the PIC, or will I be stuck with ASM?
There are multiple C compilers available for free in demo/student versions. Most of these versions are somewhat limited if you want to make BIG programs, but for most hobby stuff they're fine. SourceBoost BoostC is probably the cheapest if you want a full version license. Good compiler.
There are also BASIC, Python, JAL, Pascal and various other compilers out there. Lots of choice.
For 18F's there's Swordfish, a very good BASIC compiler.
Any random comments on your experience with PICKIT2 or the IDE? What should I expect in difference between the PIC and AVR, and I'm only interested in facts not opinions on which is better.
Well, I use both PICs and AVRs and I like em both, so I think I'm fairly unbiased. Probably MPLAB is a bit better than AVR Studio. PICs all program in high voltage mode (tho you can program them in low voltage mode too), so the AVR fusebit "lockout" problem doesn't exist in PICs.
I have two versions of PICkit 2 - a genuine Microchip one and a
Blueroom Junebug clone. Both good. I also have two ICD2 clones. One is a straight clone and the other has a USB daughterboard (the Blueroom Inchworm+/Unicorn combo). They're good, but I pretty much use the PICkit 2's all the time.
Stay clear of the JDM's and RCD's and other crappy home-built programmers. They're nothing but trouble. They were designed long ago for savage olden days computers. They mostly don't work worth a damn on modern boxes. They're slow, they don't do debugging and they don't integrate nicely with MPLAB.
There are MANY more different models of PIC than AVR - a huge range of choices.
On the other hand, 16F and lower model PICs are pretty funky architecturally if you're coming from AVR or other MCUs. You'll find them strange, arcane, byzantine!
They're hardcore RISC, with banked memory, severely minimal working registers (only 1), pretty much no useable stack and very limited addressing modes. But you quickly learn the tricks. There are ways around all those limitations. They're not so bad, and actually pretty fun to tinker with. If you're programming in C you won't notice this at all. The compiler hides all that from you. It's in assembler that they're pretty weird to get used to at first. The 18F's are much more normal, and the 16-bit models are pretty normal - almost CISC-like.