None
C programming with a focus on how to use it for Embedded System Developments.
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)
United Arab Emirates - Ansi C for Embedded Systems
Qatar - Ansi C for Embedded Systems
Egypt - Ansi C for Embedded Systems
Saudi Arabia - Ansi C for Embedded Systems
South Africa - Ansi C for Embedded Systems
Brasil - Ansi C for Embedded Systems
Canada - Ansi C for Embedded Systems
中国 - Ansi C for Embedded Systems
香港 - Ansi C for Embedded Systems
澳門 - Ansi C for Embedded Systems
台灣 - Ansi C for Embedded Systems
USA - Ansi C for Embedded Systems
Österreich - Ansi C for Embedded Systems
Schweiz - Ansi C for Embedded Systems
Deutschland - Ansi C for Embedded Systems
Czech Republic - Ansi C for Embedded Systems
Denmark - Ansi C for Embedded Systems
Estonia - Ansi C for Embedded Systems
Finland - Ansi C for Embedded Systems
Greece - Ansi C for Embedded Systems
Magyarország - Ansi C for Embedded Systems
Ireland - Ansi C for Embedded Systems
Luxembourg - Ansi C for Embedded Systems
Latvia - Ansi C for Embedded Systems
España - Ansi C para Sistemas Embebidos
Italia - Ansi C for Embedded Systems
Lithuania - Ansi C for Embedded Systems
Nederland - Ansi C for Embedded Systems
Norway - Ansi C for Embedded Systems
Portugal - Ansi C for Embedded Systems
România - Ansi C for Embedded Systems
Sverige - Ansi C for Embedded Systems
Türkiye - Ansi C for Embedded Systems
Malta - Ansi C for Embedded Systems
Belgique - Ansi C for Embedded Systems
France - Ansi C for Embedded Systems
日本 - Ansi C for Embedded Systems
Australia - Ansi C for Embedded Systems
Malaysia - Ansi C for Embedded Systems
New Zealand - Ansi C for Embedded Systems
Philippines - Ansi C for Embedded Systems
Singapore - Ansi C for Embedded Systems
Thailand - Ansi C for Embedded Systems
Vietnam - Ansi C for Embedded Systems
India - Ansi C for Embedded Systems
Argentina - Ansi C para Sistemas Embebidos
Chile - Ansi C para Sistemas Embebidos
Costa Rica - Ansi C para Sistemas Embebidos
Ecuador - Ansi C para Sistemas Embebidos
Guatemala - Ansi C para Sistemas Embebidos
Colombia - Ansi C para Sistemas Embebidos
México - Ansi C para Sistemas Embebidos
Panama - Ansi C para Sistemas Embebidos
Peru - Ansi C para Sistemas Embebidos
Uruguay - Ansi C para Sistemas Embebidos
Venezuela - Ansi C para Sistemas Embebidos
Polska - Ansi C for Embedded Systems
United Kingdom - Ansi C for Embedded Systems
South Korea - Ansi C for Embedded Systems
Pakistan - Ansi C for Embedded Systems
Sri Lanka - Ansi C for Embedded Systems
Bulgaria - Ansi C for Embedded Systems
Bolivia - Ansi C para Sistemas Embebidos
Indonesia - Ansi C for Embedded Systems
Kazakhstan - Ansi C for Embedded Systems
Moldova - Ansi C for Embedded Systems
Morocco - Ansi C for Embedded Systems
Tunisia - Ansi C for Embedded Systems
Kuwait - Ansi C for Embedded Systems
Oman - Ansi C for Embedded Systems
Slovakia - Ansi C for Embedded Systems
Kenya - Ansi C for Embedded Systems
Nigeria - Ansi C for Embedded Systems
Botswana - Ansi C for Embedded Systems
Slovenia - Ansi C for Embedded Systems
Croatia - Ansi C for Embedded Systems
Serbia - Ansi C for Embedded Systems
Bhutan - Ansi C for Embedded Systems