16 of 17 people found the following review helpful:
3.0 out of 5 stars
Potential Gem - But Lets Itself Down, November 26, 2005
This review is from: C Programming for Microcontrollers Featuring ATMEL's AVR Butterfly and the free WinAVR Compiler (Paperback)
I am writing this review from both the viewpoint as a student of electronics, and as a teacher of some 13 years experience.
Pros:
* Excellent value for money
* Excellent hardware available from author's website
* User-friendly style of writing
* Wide coverage of C - I am learning a lot
* CD ROM contains source code, data sheets, compiler, IDE and
terminal software, software for downloading code
* Friendly and responsive answers to questions via email
* Wide range of topics covered
Cons:
* Sloppy editing - many typos and some fundamental errors
* Weakness in communicating concepts
* Needs to explain longer/detailed code/program examples step-by-step to fully explain concepts and so students grasp program functionality and AVR architecture clearly and confidently
* Has been rushed
Mr. Pardue has written an enjoyable book. His writing style makes it easy to get through somewhat technical subject matter. There are a range of fun and practical examples to experiment with. However, more detailed examples could be broken down further and explained, which from a pedagogical perspective would be more effective for students to fully grasp and feel confident with the inner workings of programming.
If Mr. Pardue writes a sequel covering more advanced C programming and AVR microcontroller concepts, especially detailed assembly language programming and AVR architecture, and effectively explains detailed code examples and AVR architecture step-by-step I will definitely buy it.
Possible features of the next book could include hardware hacking of the AVR Butterfly to access more ports, building circuits that take advantage of ICSP, robotics such as SONAR, infra-red communication, sound sensing , using other communication protocols like I2C etc, interfacing with compass sensor, interfacing with speech recognition and text-to-speech sysnthesis, interfacing with GPS, how to write and run different software other than the built-in code of the Butterfly (customised operating system), internet/networking.
Help other customers find the most helpful reviews
Was this review helpful to you? Yes
No
17 of 20 people found the following review helpful:
5.0 out of 5 stars
Fun. A great introduction to Embedded projects., February 4, 2006
This review is from: C Programming for Microcontrollers Featuring ATMEL's AVR Butterfly and the free WinAVR Compiler (Paperback)
This a fun book that is great for people that want to get started in embedded programming and design. And at a low introductory affordable price.
This book, and the AVR Butterfly (~$20 at Digikey) are the best bargain you can get for getting started in Embedded programming and development. Together (the book, the AVR Butterfly and miscellaneous parts) form a complete development kit. AVR must be selling the kit for a loss to introduce their products. Buy it before they change their minds.
Although this is not a professional development kit, you will be able to do a lot. This is more like a cookbook to introduce you to the concepts and to enable to easily put a project together.
After reading through this and putting together the projects you will have the basics to understand more advanced books and enable you to design more advanced projects.
The one basic I thought the author left out that was important to include, was the C programming type qualifier "volatile". Volatile before a variable tells the compiler that a variable can have its value altered by agencies other than the program. For example you would use this when you are reading from a hardware address that is set by an interface. Otherwise the compiler may optimize the variable as a constant and not actually read the value from the hardware address on repeat iterations.
Code example: volatile int temp; Reads an 8 bit temperature code from a hadware address interfaced to a thermocouple.
So now you have it.
I found the book to be very readable, easy to understand and fun to read through.
As prerequisites for this I would recommend:
* Familiarity with the C programming language. For beginners:
I recommend the book "Practical C Programming". There are
many fine books to choose from.
* Knowledge of very basic circuits, and how to solder
wires.
* A very light knowledge of microprocessors. For
beginners: I recommend the book "Programming Embedded
Systems in C and C++", by Michael Barr. There are a few
other good beginner books to choose from.
For the beginner, this is a must have that will enable you to quickly get started and build introductory projects. If you are new to embedded programming and design I would highly recommend getting this book and the AVR butterfly.
Help other customers find the most helpful reviews
Was this review helpful to you? Yes
No
9 of 11 people found the following review helpful:
2.0 out of 5 stars
Advice for the prospective buyer, July 1, 2008
This review is from: C Programming for Microcontrollers Featuring ATMEL's AVR Butterfly and the free WinAVR Compiler (Paperback)
The author bills the book as "...a low cost way to learn C programming for microcontrollers", for beginners. Low cost it is, but for beginners, it's likely not.
Pardue's book is about two things: hardware, and software.
For hardware, Pardue commendably picked Atmel's Butterfly. It's a truly amazing and compelling miniaturized machine, guaranteed to mesmerize and puzzle anyone with a desire to learn microcontrollers. For less than the cost of a dinner, one can have the Butterfly, and for a song, download the free software to program it. Pardue's book is also reasonable in cost.
What makes the Butterfly come alive is a program, a compiled C program. And the software side of Pardue's book is centered around the C language. Briefly, the author takes you through the process of learning C, writing programs, compiling them, loading them on the Butterfly, and executing them. While C is a relatively "low level" read "simple", language, it is still complex and difficult to understand for beginners.
What makes this book a bad choice for the newbie? Well, you can't teach C and microcontrollers in 269 pages, period. Basically, the author's scope for the book is simply too ambitious. But don't misunderstand: Learning C with the Butterfly is a really good idea, it's just not practical in so few pages.
For example, a good C book covers mostly C, unsurprisingly. For instance, Prata's very good "C Primer Plus", is over 700 fairly concise, but beginner friendly, pages. (Granted, Prata's book covers more C topics than Pardue's book, but the comparison is still valid and compelling.)
Contrast that to Pardue's short 269 page book, that attempts to cover appx 700 pages of C, and at the same time, covers microcontrollers. Not gonna happen.
Then there's Pardue's chapter six, which is a prime example of the problem. Until this chapter, most example programs are short, if not just fragments. And for the most part, they are easy to understand, because Pardue takes the time to explain the program verbosely. Chapter six, to the contrary, slams you in the face with nearly six pages of solid code. While it's commented inline, there is little "direct" text explanation to augment the comments. I was limping when I got through the first five chapters, but chapter six blew me away. I fully expect the majority of true newbies will be blown away also. The remainder of the book has long programs, similarly lacking in adequate explanation.
Other reviewers have mentioned the author's poor grammar and typography, so I will not harp on it here. The author also attempts to inject humor in this dry technical subject, and mostly he succeeds. The reader will have to decide if his humor is appealing though.
Pardue does some things well. He gives adequate attention to guiding the newbie through putting the semi-kit-like Butterfly together, and introducing the compiler and Atmel IDE tools. For those unfamiliar with breadboards, those images will also be helpful. Pardue is obviously a gifted engineer, programmer and teacher, and many sections of text illustrate it well.
If you insist on buying the book and the Butterfly, here is my best recipe for success:
1. Buy and read another book on C first. I found "C Primer Plus" to be outstanding.
2. After you have a handle on the elementary aspects of C, then buy Pardue's book and the Butterfly, then get the errata and pencil in the numerous changes.
3. You should expect to read each chapter at least twice, and the chapters that cover the Butterfly will likely require more readings.
4. Type the code in yourself, as opposed to copying it from another source. Add your own comments to his, to reinforce your understanding.
5. I am sure you will need to refer back to your C book, when Pardue's book covers something in typical whirlwind manner.
There is one major mitigating factor to the negatives listed above. Joe Pardue, or "Smiley" as he is called on the avrfreaks forum, is a prolific poster and easily approachable online. He has a long track record of answering questions, many of them about his book. Regardless of whether you buy his book and Butterfly kit, do yourself a favor and google avrfreaks and check out the forum. I found it indespensible in deciphering the mystery that Atmel is.
As a side note, become aquainted with the open source hardware initiative "Arduino". The key attraction here is most of the hardware complexity is shielded by excellent library functions. These functions do things like drive output, read input, PWM, timers and serial work. The downside to Arduino is you are just "holding hands" with the hardware. The Butterfly requires "intimate" contact.
Good luck.
Steve.
Help other customers find the most helpful reviews
Was this review helpful to you? Yes
No