Item description for Interfacing with C++: Programming Real-World Applications by Jayantha Katupitiya & Kim Bentley...
This book is for people who are interested in learning and exploring electronic interfacing as well as C++ programming in a practicable and enjoyable way. Readers will learn to program a PC to do real-world things -- not simply number crunching and graphics. They will also master how to write programs that interact with real-world devices through the use of a specially-developed interface circuit board included with the book. The book, interface board and accompanying software incorporate simple and easy-to-understand projects such as digital-to-analog conversion and vice versa, DC and Stepper motor control, temperature and voltage measurement, PC-based timing, or basic data acquisition. The audience of this innovative and rewarding approach to learn interfacing real-world devices to a computer via C++ are undergraduate and graduate students in engineering and science, practicing engineers/scientists, technical workers, and hobbyists. The types of courses the book complements include control engineering, electronics, computing, and mechatronics.
Promise Angels is dedicated to bringing you great books at great prices. Whether you read for entertainment, to learn, or for literacy - you will find what you want at promiseangels.com!
Est. Packaging Dimensions: Length: 1.5" Width: 7.75" Height: 9.5" Weight: 3.3 lbs.
Release Date Apr 11, 2006
ISBN 3540253785 ISBN13 9783540253785
Reviews - What do customers think about Interfacing with C++: Programming Real-World Applications?
Programming Basic to Intermediate Applications Dec 21, 2006
Pros: Gives the essential to c++ object model as it would be used for hardware: Constructors and Destructors, Visibility - access modifiers, Overloading, Cloning, and class abstractions. Of course gives examples of inheritance, polymorphism, and encapsulation while using the parallel port for all examples.
Each project has a concise and clear explanation of how the hardware works - no theoretical fluff. Then you dive right into the code. So its an easy read from start to finish.
Coming from higher level language using collections and generics I liked how the author gave examples of accessing multidimensional array elements with pointers.
Besides the programming aspects, here are the hardware main projects
Parallel port projects:
Parallel Port Basics and Interfacing Digital-to-Analog Conversion Driving Motors- DC and Stepper
Parallel port projects but concepts can be applied for serial communication:
Voltage and Temperature Measurement - perfect for transducer sensors/non thermistor sensors - Chapter also gives an example on how to program a home made oscilloscope Analog-to-Digital Conversion The PC Timer.
Cons: A single section in the appendix for c++'s object model would have been nice.
I don't like that the author places the member functions outside the class definition. This practice is not main stream with other languages like c#, java, php. [update August 30 2007 - ignore this comment see why in the comments below]
The section called Program Development Techniques is essential for c or c++ programmers writing modular programs and need a solution to prevent multiple inclusions of header files.
Since we are interfacing this with a PC there should be a section on serial communication through both serial and more common usb ports, however there is none. Also coverage of driver creation for windows and linux is not addressed. Would have fit nicely after the PC Timer chapter. Wish there was discussion on interrupts and finding memory addresses to hardware.
update: if you want to learn win/linux device drivers see this sourceforge project: http://osrfx2.sourceforge.net/ also look at codeproject.com for usb fx.
There is also no talk about tools and development environments, so how do you run the examples? I'm using codewarrior but what does the author use? What are his thoughts or insights on this subject?
Other Book Suggestions: I would also recommend Higher-Order Perl by Mark Jason Dominus as that book improved my procedure programming and got me away from my oo background. Example: function pointers instead of delegates and dispatch table instead of factory pattern with polymorphism. The book has many other hidden gems.
Conclusion: Would I buy the book again? Yes it's a great starting reference.