- 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
Minicomputer equipped with SoC Rockchip RK3399 (ARM Cortex-A72 / ARM Cortex-A53). It has a 4 GB DDR3 RAM memory. The computer has been well-equipped, including Gigabit Ethernet connector, mSATA interface, miniPCIe connector, USB type C, dual CSI interface, etc.
No product available!
No product available!
No product available!
Neodymium rectangular magnet with dimensions of 10x5mm a and a height of 1 mm.
No product available!
No product available!
Patchcord UTP 5E Ethernet cable with a length of 5 m - blue, with 2xRJ45 connectors
No product available!
No product available!
Wireless, precise pressure, temperature and humidity sensor with built-in event memory
No product available!
No product available!
Inspired by the art of Celtic and Scandinavian medieval craftsmen, as translated through intelligent 21st century engineering, Ugears is proud to introduce the Hurdy-Gurdy—the world’s first (as far as we know!) mechanical model for self-assembly that is also a musical instrument. This extraordinary mechanical model kit is truly one of the gems of our catalogue. This isn\'t just a toy, it\'s a full-fledged musical instrument that you build yourself. The Hurdy-Gurdy has a sound that\'s perfect for folk melodies or dancing, bringing medieval times into the present day. When you purchase the Hurdy-Gurdy you will experience a unique combination: the fun and challenge of building, the appreciation of outstanding engineering and design, and the joy of music. UGears 70030
No product available!
No product available!
Starter kit with micro:bit v2. Includes USB cable, battery basket and PVC casing. OKdo micro:bit Getting Started Kit
No product available!
No product available!
No product available!
No product available!
No product available!
Andrzej Witkowski