For the novice C programmer, who's first project happens to be a project on an AVR microcontroller, this book must be perfect.
The first part teaches embedded C programing in general and AVR C programming in particular. Then there is one chapter devoted to explanation of the AVR family's features and how to access them. Topics like built in USART,PWM,Comparators,ADC,ISP,Flash and EEPROMs are explained and examplified. All in addition to regular IO ports, timers and ISRs. Next The book uses a real-world example project to teach both embedded project phases and interfacing to several sensors, using different fetures of the controller. The entire book gives insight to the AVR microcontroller family and their features. It's also a good embedded C book, and a fair C programming book.Although portable code is not a topic. I was able to speed up the research phase of my project considerably, by picking up this book. This in spite of using another C compiler for the project. This close to the HW, compiler differences are substantial. But by then the AVR was in my blood