- 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
No product available!
Discovery kit for STM8A Automotive series - with STM8AF5288 and STM8AL3L68 MCUs, STM, RoHS
No product available!
No product available!
Printed circuit board for a miniature buffer power supply with an "ideal" diode. AVT1910 A
No product available!
No product available!
No product available!
A small minicomputer with the SoC Allwinner H5 quad-core system (ARM Cortex-A53). The system has a built-in 16-core Mali450 graphics coprocessor. The computer is equipped with 512 MB DDR3 RAM. There are images of UbuntuCore and Armbian systems available for the computer. NanoPi NEO2
No product available!
Development board with the PSoC5LP ARM Cortex system. Equipped with two processors: the CY8C5868LTI-LP039 debugger / programmer and the system supporting the application code CY8C5888AXI-LP096. Both processors are based on the Cortex-M3 core and have 256kB flash memory, 64kB SRAM and 2kB EEPROM. Sparkfun DEV-13714
No product available!
Development kit with STM32F107VCT6 microcontroller equipped with in 2.8 "display with touchpanel, SD card slot, Ethernet interface
No product available!
No product available!
No product available!
Camera module with USB interface with 2MP resolution. Camera with Sony CMOS IMX323 sensor, the module is equipped with two microphones. ArduCAM UB0212
No product available!
SEMAFORA 5 CHAMBER MOTOR AND SAFETY SHIELD - PLATE AND PROGRAMMED LAYOUT
No product available!
AudioDSP is a development kit with the ADAU1701 DSP (SigmaDSP) processor. The kit includes four boards: a DSA ADAU1701 baseplate, a GPIO expansion board and two SPDIF expansion boards
No product available!
No product available!
No product available!
Andrzej Witkowski