These are classic reference books that you can use to understand c in depth.
'The C Programming language by Kernighan & Ritchie' is THE C reference
This is not the book for you if you're looking for a wordy introduction to C
It is a technical guide to the C language that is exact.
I have included it here as I think it is the best reference text book for C programming.
Note : It is not aimed at microcontroller programming but its information is just as applicable to microcontrollers as to programming PCs because the C language is standardized. The only information that is not relevant is where text is displayed on a screen using puts and printf (the microcontroller may not have a display!) - but you can attach a serial port if you need to.
There is no gentle introduction but this lets you zoom in on the information you need and it is not a huge Tome of information - it comes in at ~260 pages and is less ½ inch thick.
This book is not an introduction to C and it is not a beginners book do not buy it in the hope that it will teach you programming - it does show you good style and exactly how complex code works - but it is not for starting out.
You only need this book if you are really really interested in C programming and want to understanding the absolute fundamentals of writing C code but it is not light reading and it is not a teaching book.
It will however show you how to write a standard library functions in the correct way and maybe you will end up writing a few of the standard library functions yourself. This book gives you the actual code used to create library functions and shows you good techniques for making real code.
It tells you what the libraries are e.g. stdlib.h and exactly what standard
functions it should contain - microcontroller libraries may not contain the
same due to resource problems or processing power.
It is heavy going and has complex code in it - and after looking at a little of it you will understand why some functions are omitted from microcontroller libraries e.g. printf!
Jump from c programming to
Best Microcontroller Projects Home Page.
PIC PWM : What its for and how to use it. Including an example showing typical setup of a PIC PWM module with register settings.
How to use I2C. In this tutorial you will learn all about the 2 wire I2C serial protocol. Learn how easy it is to use, how it works and when to use it...
A 0-5V LCD volt meter project using an HD44870 display and one PIC micro ADC.
PIC programming : How to use ICSP for programming a PIC microcontroller giving some ICSP connection diagrams and it also shows how to use MPLAB X and ICPROG.
How to program PIC ICSP, IN-Circuit, live and still have a working programmer and operational circuit!
Understand how an Ultrasonic Distance meter works by building one your self – including Free software to drive the microcontroller and display.