Ansi C for Embedded Systems 培训
C Basic data types
Integer types
Floating point types
Pointers (pointer arithmetic, pointer derefencing)
Arrays
The relationship between arrays and pointers
Enums
Programming constructs
if - else statements
switch statements
while loops and do - while loops
for loops
goto statements
Functions in C
Function prototypes
Understanding C's call by value mechanism for passing arguments
Implementing functions
Calling functions
Using pointers to pass values by reference
Passing arrays to functions
Understanding C's return value mechanism
Using pointers to return values by reference
Data Structures
Defining data structures
Accessing and manipulating the elements of a data structure
Pointers to data structures
The arrow (->) operator
Using a pointer to traverse an array of data structures
Advanced topics
Pointers to pointers
Function pointers
Const and static keywords - their meanings and uses
Casts and casting Using void * pointers
Data structures containing pointers to data structures
Data structures containing function pointers
Function pointers and table driven programming
Bit fields in data structures
Unions
Using arrays to implement circular buffers and stacks
Modules as data structures and interfaces
Dynamic data structures and their uses
Singly linked lists
Doubly linked lists
Overview of the C standard library
putc, putchar, getc, getchar
printf, scanf
String manipulation functions (strcpy, strcat, ...) Embedded System Oriented Topics
Setting up port addresses
Defining bit oriented data structures
Compiler specific features
#pragmas
Non ANSII C extensions
Accessing and manipulating special function registers
Implementing interrupt handlers
Calling assembly code from C
Calling C from assembly code
Linkers and linker scripts
Understanding target peripheral device libraries and their uses
Implementing your own device libraries
Timers and their uses
Hardware timers
Software timers
Basics of event driven programming
Port I/O - flashing LEDs
Software delays
Keypad scanning
Basic RS232
Basic data acquisition and sensor interfacing
Working with EEPROM (on chip and SPI/I2C)