HI All,

I have been playing with PIC's for a while and even managed a few interesting projects using Parallax programming and reading ap notes in Microchip's language.
I can get my way through, but I'm no wiz. I have played with Jeff's wonder (PBP) on and off for years, but I usually get frustrated and give up. I'm reinvigorated and determined to give it another try. I updated to 2.44 and I have been hitting it hard for a few weeks now.

Coming from Parallax and Microchip thinking, I find it difficult to determine when I need to set all of the registers (ala assembly) and when the compiler does it for me. I think that I need to do it and then read a sample program that has essentially no setup info. Only what EPIC sets. When I try and understand a function from one of the samples that I see, I burn it on a 877a and run it on a Labx1 and play with it. Just when I think I'm starting to understand how PBP handles things, I try and use a 12fxxx part and fall on my face again (not on the Labx1).

I understand the GPIO vs. portx difference, that GPIO.3 is reserved as an input and I think I have a reasonable understanding of the datasheet (it's definitely dog eared).

I now need a real program and am getting my butt kicked trying to use a 12f675.
How do I shorten the learning curve on this?


Some background for those patient enough to continue:

The ap is relatively simple: use the compare inputs and do some filtering, and then generate a pulse over and over. The overall project is to build a PWM stage with a feedback loop to convert a 1-10v @10mA sensor to something more robust. (linear won't work because of heat).

The FET driver and FET itself are worked out and perform well when driven manually. I tried a discrete comparator, but it was too sensitive to capacitive loading. The comparator looked at the sensor signal and compared it to the filtered output of the FET and pulsed when it needed to increase the output. What I need is a smart way to filter and drive it and derive a averaged signal that compensates for differing loads. If I just calculate the PWM without some kind of feedback it will overwhelm the small loads and be to little for the large ones. The "amp" needs to follow the original signal level properly, it just needs to drive some loads at 10mA and others at 500 mA and not loose integrity.

I apologize for getting so verbose, its just that some background might unearth some genie with similar experiences.

For now, I'm going back to the 877a and Labx1 and work out the programming. When I'm happy with it, I'll try again to get it to work on a 12fxxx.

Thanks for letting me rant, and if you have any suggestions, I would welcome them.

Mark