C-Programming Language

FREE DOWNLOAD  eBook  size: 12.0 MB

 FREE DOWNLOAD examples  size: 500 kB

 Ver. 2.4 / 2009         eBooks only for WINDOWS!

Nr.07                  (no further obligation!)


In this eBook (132 pages) you will get step by step the basics of C-programming with the focus on embedded and real-time. The main target device is not the PC with Windows but a small microcontroller without an operating system. We will writ it on our self!
All the C-instructions will be explained on behalf of different examples that are implemented with the FREE tool AVR Studio (free download and no limitation). This tool consist an editor, compiler, linker and simulator. With this simulator you can test and/or modify the examples on the PC without any real hardware (microcontroller).

Embedded Real Time


In the first chapter we learn the particular features and requirements of small microcontroller, so we can start in the second chapter with the first C-example. All the necessary steps in the development of the first C-example will be shown in short films.
  You do not have to start the tool AVR Studio but you can!

In the following chapters and examples all the C-instruction like for example loops, pointer, vectors and so on will be explained.

Additionally to the C-instruction, we will also show some real-time methods and algorithms like a simple operating system (endless loop), digital filter, state machine, timer and how to use the periphery in the microcontroller (digital I/O, A/D-converter).


(1) Introduction in C and microcontroller

 The C-language
 32 C-Instruction
 Microprocessor, Microcontroller, DSP and FPGA
 Embedded and Real-Time
 Program- and data memory
 Programming in assembler
 Programming in higher languages
 Visual programming languages
 From source code to executable program
 Testing of microcontroller application
 The microcontroller ATmega323
 The microcontroller ATmega323

 (2) The first C-program

 Start new project
 Implement the C-source code
 Comments in C
 Variables declaration and definition
 The main()-function
 Structure of the source code
 Linker and Make
 Debugger and Simulation
 Error search in the source code

 (3) Endless-Loop

 The while-loop
 The Endless-Loop
 MIN-MAX values (Project_02)
 Unsigned integer (Project_02a)
 short and long integer
 char data type I (Project_02c)
 Floating point I (Project_02)
 Floating point II

 (4) IF-ELSE control

 Counter-Limit (Project_03)
 Go to Cursor
 IF and ELSE
 IF and ELSE (Project_03a)
 Logical and bit operation
 Mask bits in bytes
 1 Bit in C (Project_03b)
 Popular errors with IF-ELSE

 (5) FOR-loop

 The FOR-loop
 Light-Example (Project_04a)
 Comments in other way (Project_04a)
 Assembler (Project_04a)
 Arithmetic operations
 The %-Modulo operator (Project_20)

 (6) DO-WHILE loop

 The do-while-loop (Project_05)
 Standard library
 Break and continue (Project_05b)
 Type conversion
 Type conversion
 Digital port (Project_05c)
 Digital port write (Project_05c)
 Digital port read (Project_05d)
 Digital signal debouncing
 Filter analog signal (Project_21)
 Threshold => hysteresis (Project_23)
Standard library


 The switch()-case choice
 Statecharts basics
 Statecharts example
 Statecharts with switch-case (Project_06a)
 Assigns and compare operators

 (8) Vectors and arrays

 Array basics
 Vector Example (Project_07)
 Multidimensional arrays
 Array example (Project_07a)
 String example (Project_07b)

 (9) Pointer

 Pointer basics
 Example pointer (Project_08a)
 Pointer arithmetic (Project_08b)
 Pointer on array I (Project_08c)
 Pointer on pointer
 ZERO pointer

 (10) Structures

 Structures basics
 Example structures (Project_09)
 Characteristic of structures
 Pointer on structures (Project_09p)
 Bit-structure basics (Project_09b)
 Bit-structure example (Projrct_09b)
 Union and Enum
 Microcontroller data types u8,s8,u16
 Example u8,s8,u16 (Projrct_27)

 (11) Functions

 Basics functions
 Basics functions
 Simple function (Project_10)
 Functions with 3 return values (Project_10a)
 Call by value or Call by reference
 Functions in Header-file (Project_13)
 Array as parameter of function (Project_10b)
 2D-Array as parameter of function
 Structure as parameter and return of function (Project_26a)
 Pointer on function
 Initial of function
 printf( ) (Project_15)
 scanf( ) (Project_16a)

 (12) Pre-processor

 Basics pre-processor
 #ifndef and #define (Project_14.prj)
 #define and #include
 The condition operator
 #if, #ifdef, #ifndef and #endif

 (13) Embedded and real-time

 Memory classes
 Start-Up a microcontroller
 RTOS (Real Time Operating System)





Last Update: 22.01.2021

5 Euro

eBooks      prices

  1               5,0€
  3             10,0€

  6             15,0€
  9             20,0€

ALL download












Real Time