Maybe i'm reviving the dead with this post (topic refered), but i like to make a statement in behalf of a lot of people here in the forum, including myself.

The only teacher we will ever have for programming microcontrollers (or computer software in my case) is form "learning the way of thinking" out of code examples found on forums like this or on app notes from microchip in this particular case. No microprocessor or embedded systems degree, or any background in raw computer architecture is loaded on our brains, so there are a LOT of holes to fill in this learning curve and we usually miss something.

The original spirit of languages like PicBasic is to give the chance to our kind of people to learn and be able to use this kind of resources, and with PicBasic they made a good job in that congratulations.

The problem begins when you need to learn more than what the compiler gives you.
Examples of this are starting to use and config the hardware peripherals by hand, specific config fuses that are different for every family of microcontroller, assembler code snippets, interrupt routines, etc..
There is no manual for "what is important to look for using this peripheral" or for "what is the approach to learn this" they are huge learning steps if you are not familiar with the architecture of the chips or with assembler code itself (both a necessity for proper understanding of the datasheets). So our best chance to learn is to find some code example that is sufficiently well commented to know what's actually happening and that it actually works and extrapolate by trial and error.

I've already learnt a lot of the background in the last few years but I completely understand some beginners asking for basic "datasheet config" type questions ,or for help in understanding a little bit of assembler, or using the "X" peripheral.

It's difficult to find that kind of teaching and i'd like to thank every member of the forum that gives their time in answering us with some code snippets or solutions. Your time has helped others to be better programmers, and like in many classrooms there is always some "students" that are just lazy and want just to copy the neighbor but others we just want to learn.

Cheers, and the beers are on me