Vous voulez voir cette page en français ? Cliquez ici.


or
Sign in to turn on 1-Click ordering.
More Buying Choices
Have one to sell? Sell yours here
Tell the Publisher!
I'd like to read this book on Kindle

Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.

C Programming for Microcontrollers Featuring Atmel's Avr Butterfly and the Free Winavr Compiler [Paperback]

Joe Pardue

Price: CDN$ 54.81 & FREE Shipping. Details
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
Temporarily out of stock.
Order now and we'll deliver when available. We'll e-mail you with an estimated delivery date as soon as we have more information. Your account will only be charged when we ship the item.
Ships from and sold by Amazon.ca. Gift-wrap available.
Join Amazon Student in Canada


Book Description

March 1 2005
Do you want a low cost way to learn C programming for microcontrollers? This book shows you how to use Atmel's $19.99 AVR Butterfly board and the FREE WinAVR C compiler to make a very inexpensive system for using C to develop microcontroller projects. Students will find the thorough coverage of C explained in the context of microcontrollers to be an invaluable learning aide. Professionals, even those who already know C, will find many useful tested software and hardware examples that will speed their development work. Test drive the book by going to www.smileymicros.com and downloading the FREE 30 page pdf file: "Quick Start Guide for using the WinAVR Compiler with ATMEL's AVR Butterfly" which contains the first two chapters of the book and has all you need to get started with the AVR Butterfly and WinAVR. In addition to an in-depth coverage of C, the book has projects for: · Port I/O reading switches and blinking LEDs · UART communication with a PC · Using interrupts, timers, and counters · Pulse Width Modulation for LED brightness and motor speed control · Creating a Real Time Clock · Making music · ADC: Analog to Digital Conversion · DAC: Digital to Analog Conversion · Voltage, light, and temperature measurement · Making a slow Function Generator and Digital Oscilloscope · LCD programming · Writing a Finite State Machine The author (an Electrical Engineer, Official Atmel AVR Consultant, and award winning writer) makes the sometimes-tedious job of learning C easier by often breaking the in-depth technical exposition with humor and anecdotes detailing his personal experience and misadventures.


Product Details

  • Paperback: 304 pages
  • Publisher: Smiley Micros (March 1 2005)
  • Language: English
  • ISBN-10: 0976682206
  • ISBN-13: 978-0976682202
  • Product Dimensions: 1.6 x 18.6 x 24.2 cm
  • Shipping Weight: 540 g
  • Amazon Bestsellers Rank: #659,543 in Books (See Top 100 in Books)

Sell a Digital Version of This Book in the Kindle Store

If you are a publisher or author and hold the digital rights to a book, you can sell a digital version of it in our Kindle Store. Learn more

Customer Reviews

There are no customer reviews yet on Amazon.ca
5 star
4 star
3 star
2 star
1 star
Most Helpful Customer Reviews on Amazon.com (beta)
Amazon.com: 3.3 out of 5 stars  21 reviews
22 of 23 people found the following review helpful
3.0 out of 5 stars Potential Gem - But Lets Itself Down Nov. 26 2005
By Tronix Student - Published on Amazon.com
Format: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.
19 of 22 people found the following review helpful
5.0 out of 5 stars Fun. A great introduction to Embedded projects. Feb. 4 2006
By Book Reader - Published on Amazon.com
Format: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.
15 of 17 people found the following review helpful
2.0 out of 5 stars Advice for the prospective buyer July 1 2008
By Steve - Published on Amazon.com
Format: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.
8 of 10 people found the following review helpful
1.0 out of 5 stars Not very helpful at all May 1 2007
By B. Thedell - Published on Amazon.com
Format:Paperback
I have a 2-year degree in computer science, and so I understand the basics of C, how electronics work, etc. While I'm able to wire-up interesting AVR projects from many online tutorials, I found most of the code in this book too confusing and poorly laid-out to be of any help.

What many other reviewers here say about the text is true: a little bit of basic C is covered at the beginning, and then all of a sudden you're hacking away at Atmel's own code. If I knew how to hack up code like that, I wouldn't need to learn about it!

It's possible to teach from others' code, but the author misses opportunities to help newbies as they transition into the "AVR-GCC community" -- ALL the deprecated functions and macros that are included in the Atmel code are kept, and you're given NO clue as to what the new "proper" functions are! So if you don't understand something in the book, and you check the current AVR-libc documentation, you're even more lost from the mismatch between the two.

It's difficult and confusing to complete even basic projects with the material you *should* have been able to learn with this book. I have read through it twice and I still don't understand much of the book. I'd also like to note that unless you have a butterfly setup EXACTLY as the author has it setup -- which means having a specific OLD, OUTDATED GCC compiler setup (good luck getting that if you bought the book used or in PDF) -- none of the examples work at all: they're too entangled in little shortcuts and hacks that only work for the specific setup.

I'd appreciate if, in the next edition, the author threw out a lot of the fancy tricks and hacks and instead focused on providing a solid foundation on things like interrupt handling, comprehensive bit manipulations, etc. If I can figure all this out by myself before the next edition, however, I certainly won't be buying this -- or any other -- title from this author.
3 of 3 people found the following review helpful
1.0 out of 5 stars Better than nothing... barely May 7 2011
By James Matthew - Published on Amazon.com
Format:Paperback
This is a poorly written book that seems to miss the fact that it is aimed at beginners. As mentioned in other reviews, the author attempts to add humor to his writing. That can be a good thing when done correctly, but is frustrating in the wrong context. Near the beginning of the book, his advice for the reader having trouble with the project is something like "wave a dead chicken over it". Could be funny, unless you're desperately trying to figure out what went wrong. There are many typos in the book (though I don't think I've ever read a programming book that didn't have at least one). The use of poor quality black-and-white photos also doesn't help, especially if the color of a wire is important.

I think most readers will learn something from this book, but it is still a poor investment and not the best choice for those trying to learn microcontroller programming. Save your money and shop around.

Look for similar items by category


Feedback