- Out-of-Stock

Andrzej Witkowski
The book describes a programming environment that is a set of free tools built around avr-gcc - the GNU C compiler for AVR processors. It is intended for all those who create or want to create programs written in C language for AVR microcontrollers. In particular, it is addressed to students of electronic and electrical fields as well as hobbyists who build devices with AVR microcontrollers. It can also be used by readers professionally involved in the programming of microcontrollers and all those who, while programming them in Assembler so far, want to expand their skills.
Table of Contents
1. Introduction
1.1. Basic information
1.2. The structure of the book
1.3. Sources of information
2. The GNU C development environment
2.1. Introduction
2.2. Environmental component programs
2.2.1. The Gnu Binutiis package
2.2.2. The GCC package
2.2.3. Avr-libc library
2.2.4. Make program
2.2.5. Programmers
2.2.6. Development tools
2.2.7. assemblers
2.2.8. Auxiliary programs
2.3. Installation
2.3.1. Windows system
2.3.2. Linux system
2.4. Avr-libc library
2.4.1. Start code
2.4.2. Definitions of special register names and bit flags
2.4.3. Mathematical library
2.4.4. Standard library C
2.4.5. Macros and functions that facilitate the use of peripheral systems
2.5. Gcc compiler
2.5.1. Principle of operation
2.5.2. Types of files
2.5.3. Options
2.5.3.1. Compiler options specific to AVR processors
2.5.3.2. Options controlling the type of result
2.5.3.3. Options fixing the dialect C
2.5.3.4. Options that enable or disable comments and error information
2.5.3.5. Options for the debugger
2.5.3.6. Optimization options
2.5.3.7. Directory options
2.5.3.8. Options determining how to generate the code
2.5.3.9. Preprocessor options
2.5.3.10. Assembler options
2.5.3.11. The options of the consolidator
2.5.4. Attributes of variables and functions
2.6. Make program
2.6.1. Principle of operation
2.6.2. Dependencies
2.6.3. Variables
2.7. The AVRDUDE program
2.7.1. Command line options
2.7.2. avrdude-gui
3. C language for AVR processors
3.1. Introduction
3.2. Operations on variables and special registers
3.3. Operations on bit variables
3.4. Volatile variables
3.5. References to different types of memory
3.5.1. Address spaces
3.5.2. EEPROM memory
3.5.3. Flash memory
3.6. Interrupt service
3.6.1. Declarations of the interrupt function
3.6.2. Hierarchy of interrupts
3.6.3. Preferably from the same variables in breaks and in the main program
3.6.4. Use in interrupt from global variables
3.7. Modifications to the start code
3.8. assembler
3.8.1. Rules for allocating registers by the compiler
3.8.2. Assembler as
3.8.2.1. Comments
3.8.2.2. expressions
3.8.2.3. labels
3.8.2.4. Directive
3.8.2.5. Cpp preprocessor
3.8.2.6. Example code in Assembler attached to C
3.8.3. Inserts in Assembler
3.8.3.1. Instruction asm
3.8.3.2. operands
3.8.3.3. Application examples
4. Creating the program
4.1. Basic principles
4.2. Creation and compilation of the project
4.2.1. AVR Studio
4.2.2. Mfile makefile file generator
4.2.3. Template for makefile files from WinAVR
4.3. Sample program
4.4. Compilation of the example program
4.4.1. AVR Studio
4.4.2. Command line
4.5. Project files
5. Examples of applications
5.1. Introduction
5.2. Operation of the matrix keyboard
5.2.1. Application description
5.2.2. implementation of
5.3. Data exchange via a serial interface
5.3.1. Application description
5.3.2. implementation of
5.4. Alphanumeric LCD display
5.4.1. Application description
5.4.2. implementation of
5.5. Keyboard support in interrupts
5.5.1. Application description
5.5.2. implementation of
5.6. Keyboard and LED display support
5.6.1. Application description
5.6.2. implementation of
5.7. Communication between multiple devices
5.7.1. RS-485 interface
5.7.2. Protocol description
5.7.2.1. Data frame formats
5.7.2.2. Error handling
5.7.3. Communication session
5.7.4. implementation of
5.7.4.1. Constants and variables used in the program
5.7.4.2. The parent system
5.7.4.3. Subordinate system
5.7.5. Time dependencies
5.7.5.1. Measure the gap between characters inside the frame
5.7.5.2. Measuring the gap between frames with requesting responses and data,
5.7.5.3. Measuring the gap between frames by the slave system
5.7.6. Data exchange
Attachment
Literature
Alphabetical index
Nintendo DS Screen Kit joins two of our more unique products together to provide you with an easy means to equip your next project with touchscreen functionality. Inside each kit is one Nintendo DS Touchscreen and one SparkFun Touchscreen Connector Breakout. LCD-13631
No product available!
No product available!
No product available!
No product available!
No product available!
The special construction of the braid facilitates installation in all conditions. z28418
No product available!
SUPER LUMINAIRE MODULAR ILLUMINATOR 9XLED WHITE COLD 20mA - SELF-ASSEMBLY KIT
No product available!
No product available!
No product available!
AVT kit for self-assembly of a universal 9V power module. AVT1895 / 9 B
No product available!
No product available!
PCB and programmed layout for a 3-axis CNC generator. AVT5422 A +
No product available!
Waveshare AlphaBot2, the basic set for building an Arduino-based robot
No product available!
No product available!
The Heavy Boy Truck from Ugears is an interesting and exciting model on its own. But don’t you have a feeling that a truck unit might use something to actually pull? To complete your long haul freight traffic experience we would like to draw your attention to the Heavy Boy Truck Trailer VM-03. UGears 70057
No product available!
No product available!
Andrzej Witkowski