Embedded Controllers Using C and Arduino / 2E

(0 reviews)

star01star02star03star04star05

James Fiore

Pub Date: 2018

ISBN 13:

Publisher: dissidents

Read This Book

Conditions of Use

Attribution-NonCommercial-ShareAlike
CC BY-NC-SA

Reviews

  All reviews are licensed under a CC BY-ND license.

Learn more about reviews.

There are no reviews for this book






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.

About the Contributors

Author(s)

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