On Fri, 2004-11-12 at 02:54, Wouter van Ooijen wrote: > > 1. I agree with Olin almost 100 percent. Learn assembly > > Just to voice the opposition: I think one can do wonderfull things with > PICs and other microcontrollers without knowning the assembly language > at all. Very true, if you're VERY lucky. There hasn't been a compiler (be it PIC, PC, HDL, etc.) that I haven't found a bug in. And without knowing assembly it simply isn't possible to debug a compiler bug yourself. Which means your at the mercy of others. Call me unreasonable but I don't like having to rely on others to solve my problems. > One might even use a library-right language like some Basics and > know little about the actual PIC hardware. It is all a matter of > applying the right tools for the right job. So: > > 1. If the job at hand is getting some results with minimal effort, go > for a basic stamp and forget that it's a PIC. Absolutely. In fact, if someone isn't interesting in learning PIC assembly I'd ONLY recommend this route. > 2. For better results, at the cost of more effort, go for a bare PIC, > learn is hardware, and use a HLL to tame the beast. This is the big > step: use the PIC hardware directly, instead of using some library > abstraction of it. This can take a *lot* of time, depending on the type > of PIC you use. Like Eur (Jallist) says: print the datasheet, read the > datasheet, sleep next to it, *be* the datasheet. > > 3. Next step is knowing the PIC assembly language, so you can get the > most out of it, while still using HLL. > > 4. As a last step you might need to rewrite some (often small) parts of > your code to get the very most out of the chip. > > 5. Doing a full project in assembler is a nice exercise, but IMHO it is > seldom justified when you weight the effort against the result. I don't think anyone is suggesting one has to do the WHOLE project in assembly, only that knowing assembly is a requirement for doing ANY project in my mind. Most of my work these days is done in C on the PIC, but I certainly would NOT recommend someone start with C, it hides WAY too much (even if you don't use the libraries) and God help you if you hit a compiler bug. As a BARE minimum I would suggest start with MPLAB and assembly, get a LED to blink, and get the UART to work (with interrupts). At THAT point move to an HLL, because getting a LED to blink and getting the UART to work with interrupts will expose you to most of what you will need on the "knowing assembly" front. TTYL ----------------------------- Herbert's PIC Stuff: http://repatch.dyndns.org:8383/pic_stuff/ _______________________________________________ http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist