Programming 32-bit Microcontrollers in C

Programming 32-bit Microcontrollers in C – Exploring the PIC32

Timp de citit: 3 minute

Autor: Lucio Di Jasio
Editura: Elsevier
Anul aparitiei: 2008
Printed in the United States of America

Despre ce este vorba?

Pentru a intelege aceasta carte sunt necesare cunostinte de electronica embedded (in acest caz, programarea in C++).

Explicatiile si experimentele se fac pe familia de microcontrollere PIC32 fabricata de compania Microchip.

Structura cartii

Day 1: The Adventure Begins

  • The Plan
  • Preparation
  • The Adventure Begins
  • Compiling and Linking
  • The Linker Script
  • Building the First Project
  • Using the Simulator
  • Finding a Direction
  • The JTAG Port
  • Testing PORTB
  • Mission Debriefing
  • Notes for the Assembly Experts
  • Notes for the PIC MCU Experts
  • Notes for the C Experts
  • Tips & Tricks
  • Exercises
  • Books

Day 2: Walking in Circles

  • The Plan
  • Preparation
  • The Exploration
  • While Loops
  • An Animated Simulation
  • Using the Logic Analyzer
  • Debriefing
  • Notes for the Assembly Experts
  • Notes for the 8-Bit PIC Microcontroller Experts
  • Notes for the 16-Bit PIC Microcontroller Experts
  • Notes for the C Experts
  • Notes for the MIPS Experts
  • Tips & Tricks
  • Notes on Using the Peripheral Libraries
  • Exercises
  • Books

Day 3: Message in a Bottle

  • The Plan
  • Preparation
  • The Exploration
  • Do Loops
  • Variable Declarations
  • for Loops
  • More Loop Examples
  • Arrays
  • Sending a Message
  • Testing with the Logic Analyzer
  • Testing with the Explorer 16 Demonstration Board
  • Testing with the PIC32 Starter Kit
  • Debriefing
  • Notes for the Assembly Experts
  • Notes for the PIC Microcontroller Experts
  • Notes for the C Experts
  • Tips & Tricks
  • Exercises
  • Books

Day 4: NUMB3RS

  • The Plan
  • Preparation
  • The Exploration
  • On Optimizations (or Lack Thereof)
  • Testing
  • Going long long
  • Integer Divisions
  • Floating Point
  • Measuring Performance
  • Debriefing
  • Notes for the Assembly Experts
  • Notes for the 8-Bit PIC Microcontroller Experts
  • Notes for the 16-Bit PIC and dsPIC Microcontroller Experts
  • Tips & Tricks
  • Exercises
  • Books

Day 5: Interrupts

  • The Plan
  • Preparation
  • The Exploration
  • Interrupts and Exceptions
  • Sources of Interrupt
  • Interrupt Priorities
  • Interrupt Handlers Declaration
  • The Interrupt Management Library
  • Single Vector Interrupt Management
  • Managing Multiple Interrupts
  • Multivectored Interrupt Management
  • A Simple Application
  • The Secondary Oscillator
  • The Real-Time Clock Calendar (RTCC)
  • Debriefing
  • Notes for the PIC Microcontroller Experts
  • Tips & Tricks
  • Exercises
  • Books

Day 6: Memory

  • The Plan
  • Preparation
  • The Exploration
  • Memory Space Allocation
  • Looking at the MAP
  • Pointers
  • The Heap
  • The PIC32MX Bus
  • PIC32MX Memory Mapping
  • The Embedded-Control Memory Map
  • Debriefing
  • Notes for the C Experts
  • Notes for the Assembly Experts
  • Notes for the PIC Microcontroller Experts
  • Tips & Tricks
  • Exercises
  • Books

Day 7: Running

  • The Plan
  • Preparation
  • The Exploration
  • Performance vs. Power Consumption
  • The Primary Oscillator Clock Chain
  • The Peripheral Bus Clock
  • Initial Device Configuration
  • Setting Configuration Bits in Code
  • Heavy Stuff
  • Ready, Set, Go!
  • Fine-Tuning the PIC32: Configuring Flash Wait States
  • Fine-Tuning the PIC32: Enabling the Instruction and Data Cache
  • Fine-Tuning the PIC32: Enabling the Instruction Pre-Fetch
  • Fine-Tuning the PIC32: Final Notes
  • Debriefing
  • Notes for the Assembly Experts
  • Notes for the PIC Microcontroller Experts
  • Tips & Tricks
  • Exercises
  • Books

Day 8: Communication

  • The Plan
  • Preparation
  • The Exploration
  • Synchronous Serial Interfaces
  • Asynchronous Serial Interfaces
  • Parallel Interfaces
  • Synchronous Communication Using the SPI Module
  • Testing the Read Status Register Command
  • Writing Data to the EEPROM
  • Reading the Memory Contents
  • A 32-bit Serial EEPROM Library
  • Testing the New SEE Library
  • Debriefing
  • Notes for the C Experts
  • Notes for the Explorer 16 Experts
  • Notes for the PIC24 Experts
  • Tips & Tricks
  • Exercises
  • Books

Day 9: Asynchronous Communication

  • The Plan
  • Preparation
  • The Exploration
  • UART Configuration
  • Sending and Receiving Data
  • Testing the Serial Communication Routines
  • Building a Simple Console Library
  • Testing a VT100 Terminal
  • The Serial Port as a Debugging Tool
  • The Matrix Project
  • Debriefing
  • Notes for the C Experts
  • Notes for the PIC Microcontroller Experts
  • Tips & Tricks
  • Exercises
  • Books

Day 10: Glass = Bliss

  • The Plan
  • Preparation
  • The Exploration
  • HD44780 Controller Compatibility
  • The Parallel Master Port
  • Configuring the PMP for LCD Module Control
  • A Small Library of Functions to Access an LCD Display
  • Building an LCD Library and Using the PMP Library
  • Creating the include and lib Directories
  • Advanced LCD Control
  • Progress Bar Project
  • Debriefing
  • Notes for the PIC24 Experts
  • Tips & Tricks
  • Exercises
  • Books

Day 11: It’s an Analog World

  • The Plan
  • Preparation
  • The Exploration
  • The First Conversion
  • Automating Sampling Timing
  • Developing a Demo
  • Creating Our Own Mini ADC Library
  • Fun and Games
  • Sensing Temperature
  • Debriefing
  • Notes for the PIC24 Experts
  • Tips & Tricks
  • Exercises
  • Books

Day 12: Capturing User Inputs

  • The Plan
  • Preparation
  • Buttons and Mechanical Switches
  • Button Input Packing
  • Button Inputs Debouncing
  • Rotary Encoders
  • Interrupt-Driven Rotary Encoder Input
  • Keyboards
  • PS/2 Physical Interface
  • The PS/2 Communication Protocol
  • Interfacing the PIC32 to the PS/2
  • Input Capture
  • Testing Using a Stimulus Scripts
  • The Simulator Profiler
  • Change Notification
  • Evaluating Cost
  • I/O Polling
  • Testing the I/O Polling Method
  • Cost and Efficiency Considerations
  • Keyboard Buffering
  • Key Code Decoding
  • Debriefing
  • Notes for the PIC24 Experts
  • Tips & Tricks
  • Exercises
  • Books

Day 13: UTube

  • The Plan
  • Preparation
  • The Exploration
  • Generating the Composite Video Signal
  • The Output Compare Modules
  • Image Buffers
  • Serialization, DMA, and Synchronization
  • Completing a Video Library
  • Testing the Composite Video
  • Measuring Performance
  • Seeing the Dark Screen
  • Test Pattern
  • Plotting
  • A Starry Night
  • Line Drawing
  • Bresenham Algorithm
  • Plotting Math Functions
  • Two-Dimensional Function Visualization
  • Fractals
  • Text
  • Printing Text on Video
  • Text Test
  • The Matrix Reloaded
  • Debriefing
  • Notes for the PIC24 Experts
  • Tips & Tricks
  • Exercises
  • Books

Day 14: Mass Storage

  • The Plan
  • Preparation
  • The Exploration
  • The Physical Interface
  • Interfacing to the Explorer 16 Board
  • Starting a New Project
  • Selecting the SPI Mode of Operation
  • Sending Commands in SPI Mode
  • Completing the SD Card Initialization
  • Reading Data from an SD/MMC Card
  • Writing Data to an SD/MMC Card
  • Testing the SD/MMC Interface
  • Debriefing
  • Tips & Tricks
  • Exercises
  • Books

Day 15: File I/O

  • The Plan
  • Preparation
  • The Exploration
  • Sectors and Clusters
  • The File Allocation Table
  • The Root Directory
  • The Treasure Hunt
  • Opening a File
  • Reading Data from a File
  • Closing a File
  • The Fileio Module
  • Testing fopenM() and freadM()
  • Writing Data to a File
  • Closing a File, Take Two
  • Accessory Functions
  • Testing the Complete Fileio Module
  • Code Size
  • Debriefing
  • Tips & Tricks
  • Exercises
  • Books

Day 16: Musica, Maestro!

  • The Plan
  • Preparation
  • The Exploration
  • OC PWM Mode
  • Testing the PWM as a D/A Converter
  • Producing Analog Waveforms
  • Reproducing Voice Messages
  • A Media Player
  • The WAVE File Format
  • The Play() Function
  • The Audio Routines
  • A Simple WAVE File Player
  • Debriefing
  • Tips & Tricks
  • Exercises

Adauga un comentariu

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *