Read more about Embedded Controllers Using C and Arduino / 2E

Embedded Controllers Using C and Arduino / 2E

(1 review)

James M. Fiore

Copyright Year: 2018

Publisher: dissidents

Language: English

Read this book

Conditions of Use

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

Reviews

Learn more about reviews.

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

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).