Skip to content

    Read more about Embedded Controllers Using C and Arduino - 2e

    Embedded Controllers Using C and Arduino - 2e

    (2 reviews)

    James M. Fiore

    Copyright Year:

    Publisher: dissidents

    Language: English

    Formats Available

    Conditions of Use

    Attribution-NonCommercial-ShareAlike Attribution-NonCommercial-ShareAlike
    CC BY-NC-SA

    Reviews

    Learn more about reviews.

    Reviewed by David Breski, Adjunct Professor, Engineering and Applied Technology, Cape Cod Community College on 11/13/22

    It could spend more time on conditionals but overall it covers the C language and its applicability to Arduino programming quite well. read more

    Reviewed by Thomas Pittman, Instructor, Electronic Technology and Automated Systems, Northland Community and Technical College on 8/2/18

    This text is a very in-depth introduction to the C programming language, starting with native programming in a development environment chosen by the reader. The exercises in the early chapters give the reader a more in-depth understanding of the... read more

    Table of Contents

    • Course Introduction
    • C Memory Organization
    • C Language Basics
    • C Language Basics II
    • C Storage Types and Scope
    • C Arrays and Strings
    • C Conditionals and Looping
    • C Pointers
    • C Look-Up Tables
    • C Structures
    • C Linked Lists
    • C Memory
    • C File I/O
    • C Command Line Arguments
    • Embedded Programming
    • Hardware Architecture
    • AVR ATmega 328P Overview
    • Bits & Pieces: includes and defines
    • Bits & Pieces: Digital Input Circuitry
    • Bits & Pieces: Digital Input Circuitry
    • Bits & Pieces: pinMode
    • Bits & Pieces: digitalWrite
    • Bits & Pieces: delay
    • Bits & Pieces: digitalRead
    • Bits & Pieces: Analog Input Circuitry
    • Bits & Pieces: analogRead
    • Bits & Pieces: analogWrite
    • Bits & Pieces: Timer/Counters
    • Bits & Pieces: Interrupts

    Ancillary Material

    • dissidents
    • About the Book

      This text is designed to introduce and expand upon material related to the C programming language and embedded controllers, and specifically, the Arduino development system and associated Atmel ATmega microcontrollers. It is intended to fit the time constraints of a typical 3 to 4 credit hour course for electrical engineering technology and computer engineering technology programs, although it could also fit the needs of a hardware-oriented course in computer science. As such, the text does not attempt to cover every aspect of the C language, the Arduino system or Atmel AVR microcontrollers. The first section deals with the C language itself. It is assumed that the student is a relative newcomer to the C language but has some experience with another high level language, for example, Python. This means concepts such as conditionals and iteration are already familiar and the student can get up and running fairly quickly. From there, the Arduino development environment is examined. Unlike the myriad Arduino books now available, this text does not simply rely on the Arduino libraries. As convenient as the libraries may be, there are other, sometimes far more efficient, ways of programming the boards. Many of the chapters examine library source code to see “what's under the hood”. This more generic approach means it will be easier for the student to use other processors and development systems instead of being tightly tied to one platform.

      There is a lab manual for this textbook.

      About the Contributors

      Author

      James M. Fiore

      My name is Jim and I'm the resident dissident, programmer and author. I've been a college professor for many years teaching in the areas of electrical engineering technology, computer programming and the science of sound. I'm also a musician and an endurance athlete. I established dissidents in the late 1980s as a way to offer various software items that I created, figuring that other people might find them useful as well. Some of these have been commercial and some have been freeware. I also write a lot, including published college text books and lab manuals. Recently, the open educational resource movement has gained momentum (no doubt at least partly propelled by the rising costs of college tuition and texts).

      Contribute to this Page

      Suggest an edit to this book record