58,84 €
inkl. MwSt.
Versandkostenfrei*
Versandfertig in 6-10 Tagen
  • Broschiertes Buch

Many electrical and computer engineering projects involve some kind of embedded system in which a microcontroller sits at the center as the primary source of control. The recently-developed Arduino development platform includes an inexpensive hardware development board hosting an eight-bit ATMEL ATmega-family processor and a Java-based software-development environment. These features allow an embedded systems beginner the ability to focus their attention on learning how to write embedded software instead of wasting time overcoming the engineering CAD tools learning curve. The goal of this text…mehr

Produktbeschreibung
Many electrical and computer engineering projects involve some kind of embedded system in which a microcontroller sits at the center as the primary source of control. The recently-developed Arduino development platform includes an inexpensive hardware development board hosting an eight-bit ATMEL ATmega-family processor and a Java-based software-development environment. These features allow an embedded systems beginner the ability to focus their attention on learning how to write embedded software instead of wasting time overcoming the engineering CAD tools learning curve. The goal of this text is to introduce fundamental methods for creating embedded software in general, with a focus on ANSI C. The Arduino development platform provides a great means for accomplishing this task. As such, this work presents embedded software development using 100% ANSI C for the Arduino's ATmega328P processor. We deviate from using the Arduino-specific Wiring libraries in an attempt to provide the most general embedded methods. In this way, the reader will acquire essential knowledge necessary for work on future projects involving other processors. Particular attention is paid to the notorious issue of using C pointers in order to gain direct access to microprocessor registers, which ultimately allow control over all peripheral interfacing. Table of Contents: Introduction / ANSI C / Introduction to Arduino / Embedded Debugging / ATmega328P Architecture / General-Purpose Input/Output / Timer Ports / Analog Input Ports / Interrupt Processing / Serial Communications / Assembly Language / Non-volatile Memory
Autorenporträt
David J. Russell received the B.S. degree in computer engineering and the M.S. degree in electrical engineering from the University of Nebraska, Lincoln, Nebraska, in 1996 and 2001, respectively. Currently, he is a Ph.D. candidate in the Department of Electrical Engineering of the University of Nebraska-Lincoln. His research interests include digital signal processing, wireless communications, and biological sequence analysis. From 1996 to 1997, he was with Motorola Space and Systems Technology Group, Scottsdale, Arizona, where he was a software engineer. From 1997 to 2004, he was with EFJohnson, Lincoln, Nebraska, where he was a principal development engineer. Since 2004, he has been with the University of Nebraska, Lincoln, where he currently serves as Lecturer. Additionally, he has worked as a contract engineer for Telex, a part of Bosch Security Systems. Most recently, he helped create and presently works for the contract engineering company Red-Cocoa.