I've been using
this library for a while now, and in my opinion, it has saved me literally
months of frustration. Read on for more ...

One of the most
well known and respected sources is from Peter Anderson. He has written
a huge library of PIC routines in C, and they are available right now.

over 19,000 lines
of sample C code

over 95 files,
each file a complete example

each file has
many sample routines in it

code examples
for the

PIC12C50x

PIC12C67x

PIC16C73

PIC16F84

PIC16F87x

sample schematics
on how to build all the hardware

covers topics
too numberous to mention, but includes

example projects

EEPROM memory

I2C interfacing

RS232 serial
routines

LCD interfacing

Dallas 1
wire interface

A/D, PWM

... and much,
much more

Peter has poured
a lot of time and effort getting these routines up to a quality standard.
They have all been thoroughly tested. He has released a small sample
of them on his web site, to give you an idea of what his code is like.
To compensate for the 2 years work that has gone into it, he is releasing
the rest as a commercial library.

Ordering was simple. I went to www.amazon.com and filled in my details.
Amazon.com is one of the worlds biggest internet stores, and they have
a reputation to uphold. They have complete protection for you in case
of credit card fraud or non-delivery of goods.

A big package arrived on my doorstep 5 days later, and inside was ...

a ringbinder,
with all the sample routines and sketches of the hardware schematics.
Its 1" thick of paper.

a 1.44Mb floppy
disc with all the sample code

Summary

Advantages

Quality routines
for the PIC micro, written in C

Sample schematics
for the PIC micro hardware

Good value for
money - it saved me literally months of work, all for a small cash
investment

I
wouldn't hesitate to recommend it to anyone

Disadvantages

The library is
written for CCS C. If you use Hi-Tech, it may require minor changes.
However, I have not found this a problem as the library is written
to be portable. Most routines can be used without any modification
at all. If modification is required, its just simple things like in-built
register name.