Syntax And Structure of C

Fundamentals of the C Programming Language

About this course

This  class will enable you to begin writing embedded C language firmware for microcontrollers. Most major C language constructs will be covered, including variables, constants, operators, expressions and statements, decision functionality, loops, functions, arrays, multi-file projects, and data pointers. You will learn all of these C language topics from a non-hardware framework so that you can focus on learning the C language instead of the microcontroller architecture. The presentation will be accompanied by instructor-led code demonstrations that will be conducted with the powerful MPLAB® simulator. Skills learned in this class will be applicable to any ANSI C compiler.  At the end of the class, you will have the opportunity to apply your knowledge to program a microcontroller to perform basic input and output functionality and control. You will also use the MPLAB® X IDE to perform actual debugging on a microcontroller and execute some basic debugging techniques. While not required, previous experience with any programming language or experience with microcontrollers would be helpful.

Curriculum132 min

  • Syllabus
  • Introduction
  • Overview 1 min
  • Comments
  • Comments 5 min
  • Variables
  • Variables 2 min
  • Create your own types 1 min
  • Header File 3 min
  • Literals & Constants
  • Constants vs. Literals 2 min
  • Types of Literals 4 min
  • Literal Qualifiers 2 min
  • Character and String Literals 3 min
  • Symbolic Constants
  • Type Conversion 3 min
  • Assignment Operators 2 min
  • Simple Trick for Relational Operators 1 min
  • Logical Operators 1 min
  • Bitwise Operators 4 min
  • Bitwise Shift Operator 3 min
  • Cast Operator 1 min
  • Precedence and Associativity 3 min
  • Decisions
  • If Statements 3 min
  • Switch Statement 2 min
  • Loops
  • For Loops 3 min
  • While Loops 1 min
  • Do While 1 min
  • Break and Continue 2 min
  • Functions
  • Functions 4 min
  • Parameters 1 min
  • Declarations 4 min
  • Variable Scope 8 min
  • Variables II
  • Multi File Projects 1 min
  • Static Variables 1 min
  • Automatic Variables 1 min
  • External Variables 1 min
  • Function Scope 1 min
  • Header Files 1 min
  • Arrays
  • Arrays 1 min
  • Using Arrays 1 min
  • Multidimensional Arrays 2 min
  • Array Processing 1 min
  • Strings 2 min
  • Pointers
  • Introduction 3 min
  • Why Pointers 1 min
  • Pointer Declaration 1 min
  • Pointer Operators 5 min
  • Pointers Illustrated 2 min
  • Pointers and Arrays 2 min
  • Pointer Arithmetic 2 min
  • Pointer Jumps 2 min
  • More Pointer Arithmetic 3 min
  • Pointer Pre and Post Increment 5 min
  • Pointers and Functions 4 min
  • Pointers and Strings 2 min
  • Pointer Arrays 3 min
  • What's Next?
  • Next Steps 1 min
  • Your Feedback
  • We need your Feedback

About this course

This  class will enable you to begin writing embedded C language firmware for microcontrollers. Most major C language constructs will be covered, including variables, constants, operators, expressions and statements, decision functionality, loops, functions, arrays, multi-file projects, and data pointers. You will learn all of these C language topics from a non-hardware framework so that you can focus on learning the C language instead of the microcontroller architecture. The presentation will be accompanied by instructor-led code demonstrations that will be conducted with the powerful MPLAB® simulator. Skills learned in this class will be applicable to any ANSI C compiler.  At the end of the class, you will have the opportunity to apply your knowledge to program a microcontroller to perform basic input and output functionality and control. You will also use the MPLAB® X IDE to perform actual debugging on a microcontroller and execute some basic debugging techniques. While not required, previous experience with any programming language or experience with microcontrollers would be helpful.

Curriculum132 min

  • Syllabus
  • Introduction
  • Overview 1 min
  • Comments
  • Comments 5 min
  • Variables
  • Variables 2 min
  • Create your own types 1 min
  • Header File 3 min
  • Literals & Constants
  • Constants vs. Literals 2 min
  • Types of Literals 4 min
  • Literal Qualifiers 2 min
  • Character and String Literals 3 min
  • Symbolic Constants
  • Type Conversion 3 min
  • Assignment Operators 2 min
  • Simple Trick for Relational Operators 1 min
  • Logical Operators 1 min
  • Bitwise Operators 4 min
  • Bitwise Shift Operator 3 min
  • Cast Operator 1 min
  • Precedence and Associativity 3 min
  • Decisions
  • If Statements 3 min
  • Switch Statement 2 min
  • Loops
  • For Loops 3 min
  • While Loops 1 min
  • Do While 1 min
  • Break and Continue 2 min
  • Functions
  • Functions 4 min
  • Parameters 1 min
  • Declarations 4 min
  • Variable Scope 8 min
  • Variables II
  • Multi File Projects 1 min
  • Static Variables 1 min
  • Automatic Variables 1 min
  • External Variables 1 min
  • Function Scope 1 min
  • Header Files 1 min
  • Arrays
  • Arrays 1 min
  • Using Arrays 1 min
  • Multidimensional Arrays 2 min
  • Array Processing 1 min
  • Strings 2 min
  • Pointers
  • Introduction 3 min
  • Why Pointers 1 min
  • Pointer Declaration 1 min
  • Pointer Operators 5 min
  • Pointers Illustrated 2 min
  • Pointers and Arrays 2 min
  • Pointer Arithmetic 2 min
  • Pointer Jumps 2 min
  • More Pointer Arithmetic 3 min
  • Pointer Pre and Post Increment 5 min
  • Pointers and Functions 4 min
  • Pointers and Strings 2 min
  • Pointer Arrays 3 min
  • What's Next?
  • Next Steps 1 min
  • Your Feedback
  • We need your Feedback