SlideShare a Scribd company logo
1 of 610
Download to read offline
mikroC PRO for AVR
Develop your applications quickly and easily with the world's
most intuitive mikroC PRO forAVR Microcontrollers.
Highly sophisticated IDE provides the power you need with
the simplicity of a Windows based point-and-click
environment.
With useful implemented tools, many practical code
examples, broad set of built-in routines, and a
comprehensive Help, mikroC PRO for AVR makes a fast and
reliable tool, which can satisfy needs of experienced
engineers and beginners alike.
DISCLAIMER:
mikroC PRO for AVR and this manual are owned by mikroElektronika and are protected
by copyright law and international copyright treaty. Therefore, you should treat this manual
like any other copyrighted material (e.g., a book). The manual and the compiler may not be
copied, partially or as a whole without the written consent from the mikroEelktronika. The
PDF-edition of the manual can be printed for private or local use, but not for distribution.
Modifying the manual or the compiler is strictly prohibited.
HIGH RISK ACTIVITIES:
The mikroC PRO for AVR compiler is not fault-tolerant and is not designed, manufactured
or intended for use or resale as on-line control equipment in hazardous environments requir-
ing fail-safe performance, such as in the operation of nuclear facilities, aircraft navigation or
communication systems, air traffic control, direct life support machines, or weapons systems,
in which the failure of the Software could lead directly to death, personal injury, or severe
physical or environmental damage ("High Risk Activities"). mikroElektronika and its suppliers
specifically disclaim any express or implied warranty of fitness for High Risk Activities.
LICENSE AGREEMENT:
By using the mikroC PRO for AVR compiler, you agree to the terms of this agreement.
Only one person may use licensed version of mikroC PRO for AVR compiler at a time.
Copyright © mikroElektronika 2003 - 2008.
This manual covers mikroC PRO for AVR version 1.23 and the related topics. Newer ver-
sions may contain changes without prior notice.
COMPILER BUG REPORTS:
The compiler has been carefully tested and debugged. It is, however, not possible to
guarantee a 100 % error free product. If you would like to report a bug, please contact us at
the address office@mikroe.com. Please include next information in your bug report:
- Your operating system
- Version of mikroC PRO for AVR
- Code sample
- Description of a bug
CONTACT US:
mikroElektronika
Voice: + 381 (11) 36 28 830
Fax: + 381 (11) 36 28 831
Web: www.mikroe.com
E-mail: office@mikroe.com
Reader’s note
Windows is a Registered trademark of Microsoft Corp. All other trade and/or services marks
are the property of the respective owners.
MIKROELEKTRONIKA - SOFTWARE AND HARDWARE SOLUTIONS FOR EMBEDDED WORLD
mikroC PRO for AVR
December 2008.
Reader’sNote
USER MANUAL
Table of Contents
CHAPTER 1 Introduction
CHAPTER 2 mikroC PRO for AVR Environment
CHAPTER 3 mikroC PRO for AVR Specifics
CHAPTER 4 AVR Specifics
CHAPTER 5 mikroC PRO for AVR Language Reference
CHAPTER 6 mikroC PRO for AVR Libraries
CHAPTER 1
Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Where to Start . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
mikroElektronika Associates License Statement and Limited Warranty . . . . . 4
IMPORTANT - READ CAREFULLY . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
LIMITED WARRANTY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
HIGH RISK ACTIVITIES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
GENERAL PROVISIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Technical Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
How to Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Who Gets the License Key . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
How to Get License Key . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
After Receving the License Key . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
CHAPTER 2
IDE Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Main Menu Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
File Menu Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Edit Menu Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Find Text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Replace Text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Find In Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Go To Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Regular expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
View Menu Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Toolbars . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
File Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Edit Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Advanced Edit Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Find/Replace Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Project Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Build Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Debugger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Styles Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Tools Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Project Menu Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
MIKROELEKTRONIKA - SOFTWARE AND HARDWARE SOLUTIONS FOR EMBEDDED WORLD
mikroC PRO for AVRTable of Contents
IV
Run Menu Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Tools Menu Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Help Menu Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Keyboard Shortcuts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
mikroc pro for avr ide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
IDE Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Customizing IDE Layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Docking Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Saving Layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Auto Hide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Advanced Code Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Advanced Editor Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Code Assistant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Code Folding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Parameter Assistant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Code Templates (Auto Complete) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Auto Correct . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Spell Checker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Bookmarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Goto Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Comment / Uncomment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Code Explorer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Routine List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Project Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Project Settings Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Library Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Error Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Statistics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Memory Usage Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
RAM Memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Rx Memory Space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Data Memory Space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Special Function Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
General Purpose Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
ROM Memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
ROM Memory Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
MIKROELEKTRONIKA - SOFTWARE AND HARDWARE SOLUTIONS FOR EMBEDDED WORLD
mikroC PRO for AVR Table of Contents
V
ROM Memory Allocation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Procedures Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Procedures Size Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Procedures Locations Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
HTML Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Macro Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Integrated Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
USART Terminal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
ASCII Chart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
EEPROM Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
7 Segment Display Decoder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
UDP Terminal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Graphic LCD Bitmap Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
LCD Custom Character . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Code editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Output settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Regular Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
Simple matches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
Escape sequences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
Character classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
Metacharacters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
Metacharacters - Line separators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
Metacharacters - Predefined classes . . . . . . . . . . . . . . . . . . . . . . . . . . 71
Metacharacters - Word boundaries . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
Metacharacters - Iterators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
Metacharacters - Alternatives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Metacharacters - Subexpressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
Metacharacters - Backreferences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
mikroC PRO for AVR Command Line Options . . . . . . . . . . . . . . . . . . . . . . . . 75
tutorials . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
Projects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
New Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
New Project Wizard Steps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
MIKROELEKTRONIKA - SOFTWARE AND HARDWARE SOLUTIONS FOR EMBEDDED WORLD
mikroC PRO for AVRTable of Contents
VI
Customizing Projects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
Edit Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
Managing Project Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
Add/Remove Files from Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
Project Level Defines: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
Source Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Managing Source Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Creating new source file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Opening an existing file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Printing an open file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
Saving file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
Saving file under a different name . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
Closing file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
Clean Project Folder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Clean Project Folder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Compilation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Output Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Assembly View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Error Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
Compiler Error Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
Compiler Warning Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
Linker Error Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
Software Simulator Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Watch Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Stopwatch Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
RAM Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
Software Simulator Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
Creating New Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
Multiple Library Versions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
MIKROELEKTRONIKA - SOFTWARE AND HARDWARE SOLUTIONS FOR EMBEDDED WORLD
mikroC PRO for AVR Table of Contents
VII
CHAPTER 3
Notes: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
ANSI Standard Issues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
Divergence from the ANI C Standard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
Predefined Globals and Constants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
Predefined project level defines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
Accessing Individual Bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
Accessing Individual Bits Of Variables . . . . . . . . . . . . . . . . . . . . . . . . . 100
sbit type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
bit type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
Function Calls from Interrupt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
Linker Directives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
Directive absolute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
Directive org . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
Directive orgal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
Indirect Function Calls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
Built-in Routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
Lo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
Hi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
Higher . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
Highest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
Delay_us . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
Delay_ms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
Vdelay_ms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
Delay_Cyc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
Clock_kHz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
Clock_MHz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
Get_Fosc_kHz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
Code Optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
Constant folding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
Constant propagation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
Copy propagation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
Value numbering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
"Dead code" ellimination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
Stack allocation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
MIKROELEKTRONIKA - SOFTWARE AND HARDWARE SOLUTIONS FOR EMBEDDED WORLD
mikroC PRO for AVRTable of Contents
VIII
Local vars optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
Better code generation and local optimization . . . . . . . . . . . . . . . . . . . 111
CHAPTER 4
Types Efficiency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
Nested Calls Limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
Important notes: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
AVR Memory Organization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
Program Memory (ROM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
Data Memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
Memory Type Specifiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
rx . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
io . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
sfr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
CHAPTER 5
mikroC PRO for AVR language Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
Lexical Elements Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
Whitespace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
Whitespace in Strings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
Line Splicing with Backslash () . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
Comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
C comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
C++ comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
Nested comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
Tokens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
Token Extraction Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
Constants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
Integer Constants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
Long and Unsigned Suffixes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
Decimal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
Hexadecimal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
Binary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
Octal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
MIKROELEKTRONIKA - SOFTWARE AND HARDWARE SOLUTIONS FOR EMBEDDED WORLD
mikroC PRO for AVR Table of Contents
IX
Floating Point Constants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
Character Constants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
Escape Sequences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
Disambiguation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
String Constants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
Line Continuation with Backslash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
Enumeration Constants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
Constant Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
Keywords . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
Identifiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
Case Sensitivity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
Uniqueness and Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
Identifier Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
Punctuators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
Brackets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
Parentheses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
Braces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
Comma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
Semicolon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
Colon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
Asterisk (Pointer Declaration) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
Equal Sign . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
Pound Sign (Preprocessor Directive) . . . . . . . . . . . . . . . . . . . . . . . . . . 141
Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
Objects and Declarations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
Lvalues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
Rvalues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
Scope and Visibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
Visibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
Name Spaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
Duration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
Static Duration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
Local Duration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
MIKROELEKTRONIKA - SOFTWARE AND HARDWARE SOLUTIONS FOR EMBEDDED WORLD
mikroC PRO for AVRTable of Contents
X
Type Categories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
Fundamental Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
Arithmetic Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
Integral Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
Floating-point Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
Enumerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
Enumeration Declaration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
Anonymous Enum Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
Enumeration Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
Void Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
Void Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
Generic Pointers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
Derived Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
Arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
Array Declaration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
Arrays in Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
Multi-dimensional Arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
Pointers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
Pointer Declarations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
Null Pointers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
Function Pointers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
Assign an address to a Function Pointer . . . . . . . . . . . . . . . . . . . . . . . 160
Pointer Arithmetic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
Arrays and Pointers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
Assignment and Comparison . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
Pointer Addition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
Pointer Subtraction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
Structure Declaration and Initialization . . . . . . . . . . . . . . . . . . . . . . . . . 165
Untagged Structures and Typedefs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
Working with Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
Assignment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
Size of Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
Structures and Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
Structure Member Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
Accessing Nested Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
MIKROELEKTRONIKA - SOFTWARE AND HARDWARE SOLUTIONS FOR EMBEDDED WORLD
mikroC PRO for AVR Table of Contents
XI
Structure Uniqueness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
Unions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
Union Declaration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
Size of Union . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
Union Member Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
Bit Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
Bit Fields Declaration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
Bit Fields Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
Types Conversions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
Standard Conversions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
Arithmetic Conversions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
In details: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
Pointer Conversions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
Explicit Types Conversions (Typecasting) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
Declarations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
Declarations and Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
Declarations and Declarators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
Linkage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
Linkage Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
Internal Linkage Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
External Linkage Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
Storage Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
Auto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
Static . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
Extern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
Type Qualifiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
Qualifier const . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
Qualifier volatile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
Typedef Specifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
asm Declaration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
Automatic Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
Function Prototypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
Function Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
Functions reentrancy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
MIKROELEKTRONIKA - SOFTWARE AND HARDWARE SOLUTIONS FOR EMBEDDED WORLD
mikroC PRO for AVRTable of Contents
XII
Function Calls and Argument Conversions . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
Function Calls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
Argument Conversions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
Operators Precedence and Associativity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
Arithmetic Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
Arithmetic Operators Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
Binary Arithmetic Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
Unary Arithmetic Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
Relational Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
Relational Operators Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
Relational Operators in Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
Bitwise Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
Bitwise Operators Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
Logical Operations on Bit Level . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
Bitwise Shift Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
Bitwise vs. Logical . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
Logical Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
Logical Operators Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
Logical Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
Logical Expressions and Side Effects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
Logical vs. Bitwise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
Conditional Operator ? : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
Conditional Operator Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
Assignment Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
Simple Assignment Operator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
Compound Assignment Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
Assignment Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
Sizeof Operator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
Sizeof Applied to Expression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
Sizeof Applied to Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
Comma Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
Note . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
Labeled Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
MIKROELEKTRONIKA - SOFTWARE AND HARDWARE SOLUTIONS FOR EMBEDDED WORLD
mikroC PRO for AVR Table of Contents
XIII
Expression Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
Selection Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
If Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
Nested If statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
Note . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
Switch Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
Nested switch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
Iteration Statements (Loops) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
While Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
Do Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
For Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
Jump Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
Break and Continue Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
Break Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
Continue Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
Goto Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
Return Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
Compound Statements (Blocks) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
Preprocessor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
Preprocessor Directives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
Line Continuation with Backslash () . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
Macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
Macros with Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
Undefining Macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
File Inclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
Explicit Path . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
Note . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
Preprocessor Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
Operator # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
Operator ## . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
Note . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
Conditional Compilation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
Directives #if, #elif, #else, and #endif . . . . . . . . . . . . . . . . . . . . . . . . . . 225
Directives #ifdef and #ifndef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
MIKROELEKTRONIKA - SOFTWARE AND HARDWARE SOLUTIONS FOR EMBEDDED WORLD
mikroC PRO for AVRTable of Contents
XIV
CHAPTER 6
Hardware AVR-specific Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
Standard ANSI C Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
Miscellaneous Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
Library Dependencies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
ADC Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
ADC_Read . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
Library Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
HW Connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
CANSPI Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
External dependecies of CANSPI Library . . . . . . . . . . . . . . . . . . . . . . . 235
Library Routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
CANSPISetOperationMode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
CANSPIGetOperationMode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
CANSPIInitialize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
CANSPISetBaudRate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
CANSPISetMask . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
CANSPISetFilter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
CANSPIRead . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
CANSPIWrite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
CANSPI Constants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244
CANSPI_OP_MODE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244
CANSPI_CONFIG_FLAGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244
CANSPI_TX_MSG_FLAGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
CANSPI_RX_MSG_FLAGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246
CANSPI_MASK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246
CANSPI_FILTER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
Library Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
HW Connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250
Compact Flash Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
External dependencies of Compact Flash Library . . . . . . . . . . . . . . . . 252
Library Routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
Cf_Init . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254
Cf_Detect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
Cf_Enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
Cf_Disable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
MIKROELEKTRONIKA - SOFTWARE AND HARDWARE SOLUTIONS FOR EMBEDDED WORLD
mikroC PRO for AVR Table of Contents
XV
Cf_Read_Init . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
Cf_Read_Byte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
Cf_Write_Init . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
Cf_Write_Byte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
Cf_Read_Sector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
Cf_Write_Sector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
Cf_Fat_Init . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
Cf_Fat_QuickFormat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
Cf_Fat_Assign . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260
Cf_Fat_Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
Cf_Fat_Read . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
Cf_Fat_Rewrite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262
Cf_Fat_Append . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262
Cf_Fat_Delete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262
Cf_Fat_Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
Cf_Fat_Set_File_Date . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
Cf_Fat_Get_File_Date . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
Cf_Fat_Get_File_Size . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
Cf_Fat_Get_Swap_File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
Library Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
HW Connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274
EEPROM Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275
Library Routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275
EEPROM_Read . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275
EEPROM_Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276
Library Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277
Flash Memory Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
Library Routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
FLASH_Read_Byte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
FLASH_Read_Bytes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
FLASH_Read_Word . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
FLASH_Read_Words . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
Library Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
Graphic LCD Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
External dependencies of Graphic LCD Library . . . . . . . . . . . . . . . . . . 282
Library Routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
MIKROELEKTRONIKA - SOFTWARE AND HARDWARE SOLUTIONS FOR EMBEDDED WORLD
mikroC PRO for AVRTable of Contents
XVI
Glcd_Init . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
Glcd_Set_Side . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285
Glcd_Set_X . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285
Glcd_Set_Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
Glcd_Read_Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
Glcd_Write_Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
Glcd_Fill . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
Glcd_Dot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288
Glcd_Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
Glcd_V_Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
Glcd_H_Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290
Glcd_Rectangle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290
Glcd_Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
Glcd_Circle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
Glcd_Set_Font . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
Glcd_Write_Char . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
Glcd_Write_Text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294
Glcd_Image . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
Library Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
HW Connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298
Keypad Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
External dependencies of Keypad Library . . . . . . . . . . . . . . . . . . . . . . . 299
Library Routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
Keypad_Init . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300
Keypad_Key_Press . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301
Keypad_Key_Click . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301
Library Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301
HW Connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304
Lcd Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
External dependencies of Lcd Library . . . . . . . . . . . . . . . . . . . . . . . . . . 305
Library Routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306
Lcd_Init . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307
Lcd_Out . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308
Lcd_Out_Cp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308
Lcd_Chr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309
Lcd_Chr_Cp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309
MIKROELEKTRONIKA - SOFTWARE AND HARDWARE SOLUTIONS FOR EMBEDDED WORLD
mikroC PRO for AVR Table of Contents
XVII
Lcd_Cmd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310
Available Lcd Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310
Library Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311
Manchester Code Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313
External dependencies of Manchester Code Library . . . . . . . . . . . . . . 314
Library Routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314
Man_Receive_Init . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
Man_Receive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316
Man_Send_Init . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316
Man_Send . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317
Man_Synchro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317
Man_Break . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318
Library Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319
Connection Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
Multi Media Card Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323
Secure Digital Card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323
External dependecies of MMC Library . . . . . . . . . . . . . . . . . . . . . . . . . 323
Library Routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324
Mmc_Init . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
Mmc_Read_Sector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
Mmc_Write_Sector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326
Mmc_Read_Cid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326
Mmc_Read_Csd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326
Mmc_Fat_Init . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327
Mmc_Fat_QuickFormat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328
Mmc_Fat_Assign . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329
Mmc_Fat_Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
Mmc_Fat_Rewrite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
Mmc_Fat_Append . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
Mmc_Fat_Read . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331
Mmc_Fat_Delete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331
Mmc_Fat_Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331
Mmc_Fat_Set_File_Date . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332
Mmc_Fat_Get_File_Date . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332
Mmc_Fat_Get_File_Size . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333
Mmc_Fat_Get_Swap_File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334
MIKROELEKTRONIKA - SOFTWARE AND HARDWARE SOLUTIONS FOR EMBEDDED WORLD
mikroC PRO for AVRTable of Contents
XVIII
Library Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335
HW Connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346
OneWire Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347
External dependencies of OneWire Library . . . . . . . . . . . . . . . . . . . . . . 347
Library Routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348
Ow_Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348
Ow_Read . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349
Ow_Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349
Library Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350
HW Connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352
Port Expander Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353
External dependencies of Port Expander Library . . . . . . . . . . . . . . . . . 353
Library Routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353
Expander_Init . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354
Expander_Read_Byte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355
Expander_Write_Byte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355
Expander_Read_PortA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356
Expander_Read_PortB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356
Expander_Read_PortAB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357
Expander_Write_PortA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358
Expander_Write_PortB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359
Expander_Write_PortAB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360
Expander_Set_DirectionPortA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361
Expander_Set_DirectionPortB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361
Expander_Set_DirectionPortAB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362
Expander_Set_PullUpsPortA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362
Expander_Set_PullUpsPortB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363
Expander_Set_PullUpsPortAB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363
Library Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364
HW Connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365
PS/2 Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366
External dependencies of PS/2 Library . . . . . . . . . . . . . . . . . . . . . . . . . 366
Library Routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366
Ps2_Config . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366
Ps2_Key_Read . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366
Ps2_Config . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367
MIKROELEKTRONIKA - SOFTWARE AND HARDWARE SOLUTIONS FOR EMBEDDED WORLD
mikroC PRO for AVR Table of Contents
XIX
Ps2_Key_Read . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368
Special Function Keys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369
Library Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370
HW Connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371
PWM Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372
Library Routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372
Predefined constants used in PWM library . . . . . . . . . . . . . . . . . . . . . . 372
PWM_Init . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374
PWM_Set_Duty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376
PWM_Start . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376
PWM_Stop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376
PWM1_Init . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377
PWM1_Set_Duty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379
PWM1_Start . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379
PWM1_Stop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379
Library Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380
HW Connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381
PWM 16 bit Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382
Library Routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382
Predefined constants used in PWM-16bit library . . . . . . . . . . . . . . . . . 382
PWM16bit_Init . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384
PWM16bit_Change_Duty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386
PWM16bit_Start . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387
PWM16bit_Stop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387
Library Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388
HW Connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389
RS-485 Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 390
External dependencies of RS-485 Library . . . . . . . . . . . . . . . . . . . . . . . 390
Library Routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391
RS485Master_Init . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391
RS485Master_Receive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392
RS485Master_Send . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393
RS485Slave_Init . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394
RS485Slave_Receive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395
RS485Slave_Send . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396
Library Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396
MIKROELEKTRONIKA - SOFTWARE AND HARDWARE SOLUTIONS FOR EMBEDDED WORLD
mikroC PRO for AVRTable of Contents
XX
HW Connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 400
Message format and CRC calculations . . . . . . . . . . . . . . . . . . . . . . . . . 401
Software I˛C Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 402
External dependecies of Soft_I2C Library . . . . . . . . . . . . . . . . . . . . . . . 402
Library Routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403
Soft_I2C_Init . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403
Soft_I2C_Start . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404
Soft_I2C_Read . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404
Soft_I2C_Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405
Soft_I2C_Stop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405
Soft_I2C_Break . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 406
Library Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407
Software SPI Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 410
External dependencies of Software SPI Library . . . . . . . . . . . . . . . . . . 410
Library Routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411
Soft_SPI_Init . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411
Soft_SPI_Read . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412
Soft_SPI_Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412
Library Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413
Software UART Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415
External dependencies of Software UART Library . . . . . . . . . . . . . . . . 415
Library Routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415
Soft_UART_Init . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 416
Soft_UART_Read . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417
Soft_UART_Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 418
Soft_UART_Break . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 419
Library Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 420
Sound Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 421
External dependencies of Sound Library . . . . . . . . . . . . . . . . . . . . . . . 421
Library Routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 421
Sound_Init . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422
Sound_Play . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422
Library Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423
HW Connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425
SPI Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 426
Library Routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 426
MIKROELEKTRONIKA - SOFTWARE AND HARDWARE SOLUTIONS FOR EMBEDDED WORLD
mikroC PRO for AVR Table of Contents
XXI
SPI1_Init . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 426
SPI1_Init_Advanced . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427
SPI1_Read . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 428
SPI1_Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 428
Library Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 429
HW Connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 430
SPI Ethernet Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 431
External dependencies of SPI Ethernet Library . . . . . . . . . . . . . . . . . . 432
Library Routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433
SPI_Ethernet_Init . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434
SPI_Ethernet_Enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436
SPI_Ethernet_Disable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 437
SPI_Ethernet_doPacket . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 438
SPI_Ethernet_putByte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439
SPI_Ethernet_putBytes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439
SPI_Ethernet_putConstBytes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440
SPI_Ethernet_putString . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440
SPI_Ethernet_putConstString . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441
SPI_Ethernet_getByte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441
SPI_Ethernet_getBytes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 442
SPI_Ethernet_UserTCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443
SPI_Ethernet_UserUDP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444
Library Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444
HW Connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 452
SPI Graphic Lcd Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453
External dependencies of SPI Graphic Lcd Library . . . . . . . . . . . . . . . 453
Library Routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453
SPI_Glcd_Init . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454
SPI_Glcd_Set_Side . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 455
SPI_Glcd_Set_Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 455
SPI_Glcd_Set_X . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 456
SPI_Glcd_Read_Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 456
SPI_Glcd_Write_Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 457
SPI_Glcd_Fill . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 457
SPI_Glcd_Dot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 458
SPI_Glcd_Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 458
MIKROELEKTRONIKA - SOFTWARE AND HARDWARE SOLUTIONS FOR EMBEDDED WORLD
mikroC PRO for AVRTable of Contents
XXII
SPI_Glcd_V_Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 459
SPI_Glcd_H_Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 459
SPI_Glcd_Rectangle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 460
SPI_Glcd_Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 460
SPI_Glcd_Circle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 461
SPI_Glcd_Set_Font . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 462
SPI_Glcd_Write_Char . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 463
SPI_Glcd_Write_Text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 464
SPI_Glcd_Image . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465
Library Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465
HW Connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 468
SPI Lcd Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 469
External dependencies of SPI Lcd Library . . . . . . . . . . . . . . . . . . . . . . 469
Library Routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 469
SPI_Lcd_Config . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 470
SPI_Lcd_Out . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 471
SPI_Lcd_Out_Cp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 471
SPI_Lcd_Chr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 472
SPI_Lcd_Chr_Cp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 472
SPI_Lcd_Cmd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473
Available Lcd Commands . . . . . . . . . . . . . . . . . . . . . . . . . 473
Library Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474
HW Connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 475
SPI Lcd8 (8-bit interface) Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 476
External dependencies of SPI Lcd Library . . . . . . . . . . . . . . . . . . . . . . 476
Library Routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 476
SPI_Lcd8_Config . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 477
SPI_Lcd8_Out . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 478
SPI_Lcd8_Out_Cp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 478
SPI_Lcd8_Chr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 479
SPI_Lcd8_Chr_Cp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 479
SPI_Lcd8_Cmd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 480
Available Lcd Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 480
Library Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 481
HW Connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 482
SPI T6963C Graphic Lcd Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 483
MIKROELEKTRONIKA - SOFTWARE AND HARDWARE SOLUTIONS FOR EMBEDDED WORLD
mikroC PRO for AVR Table of Contents
XXIII
External dependencies of SPI T6963C Graphic Lcd Library . . . . . . . . 483
Library Routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 484
SPI_T6963C_Config . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 485
SPI_T6963C_WriteData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 487
SPI_T6963C_WriteCommand . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 487
SPI_T6963C_SetPtr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 487
SPI_T6963C_WaitReady . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 488
SPI_T6963C_Fill . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 488
SPI_T6963C_Dot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 488
SPI_T6963C_Write_Char . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 489
SPI_T6963C_Write_Text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 490
SPI_T6963C_Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 491
SPI_T6963C_Rectangle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 491
SPI_T6963C_Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 492
SPI_T6963C_Circle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 492
SPI_T6963C_Image . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 493
SPI_T6963C_Sprite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 493
SPI_T6963C_Set_Cursor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 494
SPI_T6963C_ClearBit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 494
SPI_T6963C_SetBit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 495
SPI_T6963C_NegBit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 495
SPI_T6963C_DisplayGrPanel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 496
SPI_T6963C_DisplayTxtPanel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 496
SPI_T6963C_SetGrPanel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 496
SPI_T6963C_SetTxtPanel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 497
SPI_T6963C_PanelFill . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 497
SPI_T6963C_GrFill . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 497
SPI_T6963C_TxtFill . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 498
SPI_T6963C_Cursor_Height . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 498
SPI_T6963C_Graphics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 498
SPI_T6963C_Text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 499
SPI_T6963C_Cursor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 499
SPI_T6963C_Cursor_Blink . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 500
Library Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 500
HW Connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 505
T6963C Graphic LCD Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 506
MIKROELEKTRONIKA - SOFTWARE AND HARDWARE SOLUTIONS FOR EMBEDDED WORLD
mikroC PRO for AVRTable of Contents
XXIV
External dependencies of T6963C Graphic LCD Library . . . . . . . . . . . 507
Library Routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 508
T6963C_Init . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 509
T6963C_WriteData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 510
T6963C_WriteCommand . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 511
T6963C_SetPtr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 511
T6963C_WaitReady . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 511
T6963C_Fill . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 512
T6963C_Dot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 512
T6963C_Write_Char . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 513
T6963C_Write_Text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 514
T6963C_Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 515
T6963C_Rectangle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 515
T6963C_Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 516
T6963C_Circle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 516
T6963C_Image . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 517
T6963C_Sprite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 517
T6963C_Set_Cursor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 518
T6963C_ClearBit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 518
T6963C_SetBit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 519
T6963C_NegBit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 519
T6963C_DisplayGrPanel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 520
T6963C_DisplayTxtPanel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 520
T6963C_SetGrPanel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 521
T6963C_SetTxtPanel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 521
T6963C_PanelFill . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 522
T6963C_GrFill . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 522
T6963C_TxtFill . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 522
T6963C_Cursor_Height . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 523
T6963C_Graphics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 523
T6963C_Text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 523
T6963C_Cursor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 524
T6963C_Cursor_Blink . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 524
Library Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 525
HW Connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 529
TWI Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 530
MIKROELEKTRONIKA - SOFTWARE AND HARDWARE SOLUTIONS FOR EMBEDDED WORLD
mikroC PRO for AVR Table of Contents
XXV
Library Routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 530
TWI_Init . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 530
TWI_Busy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 531
TWI_Start . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 531
TWI_Read . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 531
TWI_Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 532
TWI_Stop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 532
TWI_Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 532
TWI_Close . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 532
Library Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 533
HW Connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 533
UART Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 534
Library Routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 534
UARTx_Init . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 535
UARTx_Init_Advanced . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 536
UARTx_Data_Ready . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 537
UARTx_Read . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 537
UARTx_Read_Text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 538
UARTx_Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 539
UARTx_Write_Text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 539
Library Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 540
HW Connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 541
ANSI C Ctype Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 542
Library Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 542
isalnum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 542
isalpha . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 542
iscntrl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 542
isdigit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 543
isgraph . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 543
islower . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 543
ispunct . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 543
isspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 543
isupper . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 543
isxdigit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 543
toupper . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 544
tolower . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 544
MIKROELEKTRONIKA - SOFTWARE AND HARDWARE SOLUTIONS FOR EMBEDDED WORLD
mikroC PRO for AVRTable of Contents
XXVI
ANSI C Math Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 545
Library Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 545
acos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 546
asin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 546
atan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 546
atan2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 546
ceil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 546
cos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 546
cosh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 547
eval_poly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 547
exp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 547
fabs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 547
floor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 547
frexp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 547
ldexp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 547
log . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 548
log10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 548
modf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 548
pow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 548
sin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 548
sinh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 548
sqrt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 548
tan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 549
tanh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 549
ANSI C Stdlib Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 550
Library Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 550
abs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 550
atof . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 550
atoi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 551
atol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 551
div . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 551
ldiv . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 551
uldiv . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 552
labs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 552
max . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 552
min . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 552
MIKROELEKTRONIKA - SOFTWARE AND HARDWARE SOLUTIONS FOR EMBEDDED WORLD
mikroC PRO for AVR Table of Contents
XXVII
rand . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 552
srand . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 552
xtoi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 553
Div Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 553
ANSI C String Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 554
Library Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 554
memchr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 555
memcmp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 555
memcpy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 555
memmove . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 555
memset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 555
strcat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 556
strchr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 556
strcmp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 556
strcpy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 556
strlen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 556
strncat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 557
strncpy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 557
strspn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 557
Strncmp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 557
Strstr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 558
Strcspn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 558
Strpbrk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 558
Strrchr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 558
Button Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 559
External dependecies of Button Library . . . . . . . . . . . . . . . . . . . . . . . . 559
Library Routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 559
Button . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 560
Conversions Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 561
Library Routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 561
ByteToStr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 562
ShortToStr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 562
WordToStr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 563
IntToStr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 563
LongToStr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 564
LongWordToStr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 564
MIKROELEKTRONIKA - SOFTWARE AND HARDWARE SOLUTIONS FOR EMBEDDED WORLD
mikroC PRO for AVRTable of Contents
FloatToStr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 565
Dec2Bcd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 566
Bcd2Dec16 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 566
Dec2Bcd16 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 567
Sprint Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 568
Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 568
sprintf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 568
sprintl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 571
sprinti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 571
Library Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 572
Time Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 573
Library Routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 573
Time_dateToEpoch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 573
Time_epochToDate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 574
Time_dateDiff . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 575
Library Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 576
Trigonometry Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 577
Library Routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 577
sinE3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 577
cosE3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 578
MIKROELEKTRONIKA - SOFTWARE AND HARDWARE SOLUTIONS FOR EMBEDDED WORLD
mikroC PRO for AVR Table of Contents
XXIX
MIKROELEKTRONIKA - SOFTWARE AND HARDWARE SOLUTIONS FOR EMBEDDED WORLD
mikroC PRO for AVRTable of Contents
XXX
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100
Mikroc pro avr_manual_v100

More Related Content

What's hot

Laravel 4 Documentation
Laravel 4 DocumentationLaravel 4 Documentation
Laravel 4 DocumentationHoHoangKha
 
허니웰프린터 Honeywell PC42t 열전사감열 데스크탑 바코드프린터 매뉴얼
허니웰프린터 Honeywell PC42t 열전사감열 데스크탑 바코드프린터 매뉴얼허니웰프린터 Honeywell PC42t 열전사감열 데스크탑 바코드프린터 매뉴얼
허니웰프린터 Honeywell PC42t 열전사감열 데스크탑 바코드프린터 매뉴얼HION IT
 
Corel vs pro_x4_ug modul corel draw
Corel vs pro_x4_ug modul corel draw Corel vs pro_x4_ug modul corel draw
Corel vs pro_x4_ug modul corel draw DIANTO IRAWAN
 
Java script tools guide cs6
Java script tools guide cs6Java script tools guide cs6
Java script tools guide cs6Sadiq Momin
 
Zebra Designer PRO - Manual do Software
Zebra Designer PRO - Manual do SoftwareZebra Designer PRO - Manual do Software
Zebra Designer PRO - Manual do SoftwareUseZ
 
인터맥프린터 Intermec PM4i 열전사감열 RFID 바코드프린터 산업용프린터 매뉴얼
인터맥프린터 Intermec PM4i 열전사감열 RFID 바코드프린터 산업용프린터 매뉴얼인터맥프린터 Intermec PM4i 열전사감열 RFID 바코드프린터 산업용프린터 매뉴얼
인터맥프린터 Intermec PM4i 열전사감열 RFID 바코드프린터 산업용프린터 매뉴얼HION IT
 
인터맥프린터 Intermec PB50 감열 모바일프린터 매뉴얼
인터맥프린터 Intermec PB50 감열 모바일프린터 매뉴얼인터맥프린터 Intermec PB50 감열 모바일프린터 매뉴얼
인터맥프린터 Intermec PB50 감열 모바일프린터 매뉴얼HION IT
 
Watchout 5 users_guide
Watchout 5 users_guideWatchout 5 users_guide
Watchout 5 users_guidepopos29
 
Doors Getting Started
Doors Getting StartedDoors Getting Started
Doors Getting Startedsong4fun
 
ZTE Avid 828 Manual / User Guide
ZTE Avid 828 Manual / User GuideZTE Avid 828 Manual / User Guide
ZTE Avid 828 Manual / User Guidemanualsheet
 
Pelco c4654 m a-dx-series-client
Pelco c4654 m a-dx-series-clientPelco c4654 m a-dx-series-client
Pelco c4654 m a-dx-series-clientmarco rios
 
Reeldvd User Guide
Reeldvd User GuideReeldvd User Guide
Reeldvd User Guidegueste6b460
 
Test and target book
Test and target bookTest and target book
Test and target bookMesurex
 
Guia de usuario arena
Guia de usuario arenaGuia de usuario arena
Guia de usuario arenaSadamii Rap
 
Flash File Format Specification
Flash File Format SpecificationFlash File Format Specification
Flash File Format Specificationguest0ebe1e
 

What's hot (19)

Laravel 4 Documentation
Laravel 4 DocumentationLaravel 4 Documentation
Laravel 4 Documentation
 
catalogo ck3
catalogo ck3catalogo ck3
catalogo ck3
 
허니웰프린터 Honeywell PC42t 열전사감열 데스크탑 바코드프린터 매뉴얼
허니웰프린터 Honeywell PC42t 열전사감열 데스크탑 바코드프린터 매뉴얼허니웰프린터 Honeywell PC42t 열전사감열 데스크탑 바코드프린터 매뉴얼
허니웰프린터 Honeywell PC42t 열전사감열 데스크탑 바코드프린터 매뉴얼
 
Corel vs pro_x4_ug modul corel draw
Corel vs pro_x4_ug modul corel draw Corel vs pro_x4_ug modul corel draw
Corel vs pro_x4_ug modul corel draw
 
Java script tools guide cs6
Java script tools guide cs6Java script tools guide cs6
Java script tools guide cs6
 
Zebra Designer PRO - Manual do Software
Zebra Designer PRO - Manual do SoftwareZebra Designer PRO - Manual do Software
Zebra Designer PRO - Manual do Software
 
인터맥프린터 Intermec PM4i 열전사감열 RFID 바코드프린터 산업용프린터 매뉴얼
인터맥프린터 Intermec PM4i 열전사감열 RFID 바코드프린터 산업용프린터 매뉴얼인터맥프린터 Intermec PM4i 열전사감열 RFID 바코드프린터 산업용프린터 매뉴얼
인터맥프린터 Intermec PM4i 열전사감열 RFID 바코드프린터 산업용프린터 매뉴얼
 
인터맥프린터 Intermec PB50 감열 모바일프린터 매뉴얼
인터맥프린터 Intermec PB50 감열 모바일프린터 매뉴얼인터맥프린터 Intermec PB50 감열 모바일프린터 매뉴얼
인터맥프린터 Intermec PB50 감열 모바일프린터 매뉴얼
 
E views 9 command ref
E views 9 command refE views 9 command ref
E views 9 command ref
 
Watchout 5 users_guide
Watchout 5 users_guideWatchout 5 users_guide
Watchout 5 users_guide
 
Mb ug
Mb ugMb ug
Mb ug
 
Ug893 vivado-ide
Ug893 vivado-ideUg893 vivado-ide
Ug893 vivado-ide
 
Doors Getting Started
Doors Getting StartedDoors Getting Started
Doors Getting Started
 
ZTE Avid 828 Manual / User Guide
ZTE Avid 828 Manual / User GuideZTE Avid 828 Manual / User Guide
ZTE Avid 828 Manual / User Guide
 
Pelco c4654 m a-dx-series-client
Pelco c4654 m a-dx-series-clientPelco c4654 m a-dx-series-client
Pelco c4654 m a-dx-series-client
 
Reeldvd User Guide
Reeldvd User GuideReeldvd User Guide
Reeldvd User Guide
 
Test and target book
Test and target bookTest and target book
Test and target book
 
Guia de usuario arena
Guia de usuario arenaGuia de usuario arena
Guia de usuario arena
 
Flash File Format Specification
Flash File Format SpecificationFlash File Format Specification
Flash File Format Specification
 

Viewers also liked

Uros stankovic.ptt
Uros stankovic.pttUros stankovic.ptt
Uros stankovic.ptturkedika
 
Wholesale shipping cartons
Wholesale shipping cartonsWholesale shipping cartons
Wholesale shipping cartonsJeffrey White
 
Diklatpim pembaharuan revised 20 juli
Diklatpim pembaharuan revised 20  juliDiklatpim pembaharuan revised 20  juli
Diklatpim pembaharuan revised 20 juliAgus Dwiyanto
 
Solara investor presentation
Solara investor presentationSolara investor presentation
Solara investor presentationJohn Barber
 
LLP Agreement and LLP Taxation
LLP Agreement and LLP TaxationLLP Agreement and LLP Taxation
LLP Agreement and LLP TaxationCA. Pramod Jain
 
บทที่ 10
บทที่ 10บทที่ 10
บทที่ 10056777777
 
How to Improve your Corporate Performance by Integrating your Business Partners
How to Improve your Corporate Performance by Integrating your Business PartnersHow to Improve your Corporate Performance by Integrating your Business Partners
How to Improve your Corporate Performance by Integrating your Business PartnersBabelway
 
Manajemen perubahan kemen pan dan rb
Manajemen perubahan  kemen pan dan rbManajemen perubahan  kemen pan dan rb
Manajemen perubahan kemen pan dan rbAgus Dwiyanto
 
Pembaharuan diklat dan globalisasi
Pembaharuan diklat dan globalisasiPembaharuan diklat dan globalisasi
Pembaharuan diklat dan globalisasiAgus Dwiyanto
 

Viewers also liked (15)

Uros stankovic.ptt
Uros stankovic.pttUros stankovic.ptt
Uros stankovic.ptt
 
Wholesale shipping cartons
Wholesale shipping cartonsWholesale shipping cartons
Wholesale shipping cartons
 
Diklatpim pembaharuan revised 20 juli
Diklatpim pembaharuan revised 20  juliDiklatpim pembaharuan revised 20  juli
Diklatpim pembaharuan revised 20 juli
 
Lesson 10 2
Lesson 10 2Lesson 10 2
Lesson 10 2
 
Carton sealing tape
Carton sealing tapeCarton sealing tape
Carton sealing tape
 
Lesson 9 dialogue
Lesson 9 dialogueLesson 9 dialogue
Lesson 9 dialogue
 
Curriculum Vitae 2014
Curriculum Vitae 2014Curriculum Vitae 2014
Curriculum Vitae 2014
 
Solara investor presentation
Solara investor presentationSolara investor presentation
Solara investor presentation
 
LLP Agreement and LLP Taxation
LLP Agreement and LLP TaxationLLP Agreement and LLP Taxation
LLP Agreement and LLP Taxation
 
บทที่ 10
บทที่ 10บทที่ 10
บทที่ 10
 
How to Improve your Corporate Performance by Integrating your Business Partners
How to Improve your Corporate Performance by Integrating your Business PartnersHow to Improve your Corporate Performance by Integrating your Business Partners
How to Improve your Corporate Performance by Integrating your Business Partners
 
漢字
漢字漢字
漢字
 
Manajemen perubahan kemen pan dan rb
Manajemen perubahan  kemen pan dan rbManajemen perubahan  kemen pan dan rb
Manajemen perubahan kemen pan dan rb
 
Training Catalog_OLR_0915
Training Catalog_OLR_0915Training Catalog_OLR_0915
Training Catalog_OLR_0915
 
Pembaharuan diklat dan globalisasi
Pembaharuan diklat dan globalisasiPembaharuan diklat dan globalisasi
Pembaharuan diklat dan globalisasi
 

Similar to Mikroc pro avr_manual_v100

Windows Internals Part 1_6th Edition.pdf
Windows Internals Part 1_6th Edition.pdfWindows Internals Part 1_6th Edition.pdf
Windows Internals Part 1_6th Edition.pdfLokeshSainathGudivad
 
MFG/PRO QAD Reporting Framework Document Guide
MFG/PRO QAD Reporting Framework Document GuideMFG/PRO QAD Reporting Framework Document Guide
MFG/PRO QAD Reporting Framework Document GuideVinh Nguyen
 
Data source integration guide for HP Performance Agent
Data source integration guide for HP Performance AgentData source integration guide for HP Performance Agent
Data source integration guide for HP Performance Agenthernajes
 
Epo 450 product_guide_en-us
Epo 450 product_guide_en-usEpo 450 product_guide_en-us
Epo 450 product_guide_en-uslvaloto
 
MetaFabric™ Architecture Virtualized Data Center: Design and Implementation G...
MetaFabric™ Architecture Virtualized Data Center: Design and Implementation G...MetaFabric™ Architecture Virtualized Data Center: Design and Implementation G...
MetaFabric™ Architecture Virtualized Data Center: Design and Implementation G...Juniper Networks
 
Faronics Deep Freeze Server Enterprise User Guide
Faronics Deep Freeze Server Enterprise User GuideFaronics Deep Freeze Server Enterprise User Guide
Faronics Deep Freeze Server Enterprise User GuideFaronics
 
Faronics Deep Freeze Enterprise User Guide
Faronics Deep Freeze Enterprise User GuideFaronics Deep Freeze Enterprise User Guide
Faronics Deep Freeze Enterprise User GuideFaronics
 
8 2-sp1 administering-broker
8 2-sp1 administering-broker8 2-sp1 administering-broker
8 2-sp1 administering-brokerNugroho Hermanto
 
Call pilot call center setup and operation
Call pilot call center setup and operationCall pilot call center setup and operation
Call pilot call center setup and operationkyawzay htet
 

Similar to Mikroc pro avr_manual_v100 (20)

Dynamics AX/ X++
Dynamics AX/ X++Dynamics AX/ X++
Dynamics AX/ X++
 
Acro js guide
Acro js guideAcro js guide
Acro js guide
 
Windows Internals Part 1_6th Edition.pdf
Windows Internals Part 1_6th Edition.pdfWindows Internals Part 1_6th Edition.pdf
Windows Internals Part 1_6th Edition.pdf
 
AcroJS
AcroJSAcroJS
AcroJS
 
AcroJS
AcroJSAcroJS
AcroJS
 
MFG/PRO QAD Reporting Framework Document Guide
MFG/PRO QAD Reporting Framework Document GuideMFG/PRO QAD Reporting Framework Document Guide
MFG/PRO QAD Reporting Framework Document Guide
 
Acro6 js guide
Acro6 js guideAcro6 js guide
Acro6 js guide
 
man-461.pdf
man-461.pdfman-461.pdf
man-461.pdf
 
Man 461
Man 461Man 461
Man 461
 
Data source integration guide for HP Performance Agent
Data source integration guide for HP Performance AgentData source integration guide for HP Performance Agent
Data source integration guide for HP Performance Agent
 
Ppm7.5 cmd tokval
Ppm7.5 cmd tokvalPpm7.5 cmd tokval
Ppm7.5 cmd tokval
 
Epo 450 product_guide_en-us
Epo 450 product_guide_en-usEpo 450 product_guide_en-us
Epo 450 product_guide_en-us
 
Acro js guide
Acro js guideAcro js guide
Acro js guide
 
MetaFabric™ Architecture Virtualized Data Center: Design and Implementation G...
MetaFabric™ Architecture Virtualized Data Center: Design and Implementation G...MetaFabric™ Architecture Virtualized Data Center: Design and Implementation G...
MetaFabric™ Architecture Virtualized Data Center: Design and Implementation G...
 
Manual Ck3 honeywell - www.codeprint.com.br
Manual Ck3 honeywell - www.codeprint.com.brManual Ck3 honeywell - www.codeprint.com.br
Manual Ck3 honeywell - www.codeprint.com.br
 
Faronics Deep Freeze Server Enterprise User Guide
Faronics Deep Freeze Server Enterprise User GuideFaronics Deep Freeze Server Enterprise User Guide
Faronics Deep Freeze Server Enterprise User Guide
 
Faronics Deep Freeze Enterprise User Guide
Faronics Deep Freeze Enterprise User GuideFaronics Deep Freeze Enterprise User Guide
Faronics Deep Freeze Enterprise User Guide
 
8 2-sp1 administering-broker
8 2-sp1 administering-broker8 2-sp1 administering-broker
8 2-sp1 administering-broker
 
Call pilot call center setup and operation
Call pilot call center setup and operationCall pilot call center setup and operation
Call pilot call center setup and operation
 
Programming
ProgrammingProgramming
Programming
 

More from EEMPROM

MICROCONTROLADORES PIC Y ATMEGA AVR
MICROCONTROLADORES PIC Y ATMEGA AVR MICROCONTROLADORES PIC Y ATMEGA AVR
MICROCONTROLADORES PIC Y ATMEGA AVR EEMPROM
 
Nuevo documento de microsoft word (2)
Nuevo documento de microsoft word (2)Nuevo documento de microsoft word (2)
Nuevo documento de microsoft word (2)EEMPROM
 
Sensor de proximidad infrarrojo
Sensor de proximidad infrarrojoSensor de proximidad infrarrojo
Sensor de proximidad infrarrojoEEMPROM
 
Sensor de proximidad infrarrojo
Sensor de proximidad infrarrojoSensor de proximidad infrarrojo
Sensor de proximidad infrarrojoEEMPROM
 

More from EEMPROM (6)

MICROCONTROLADORES PIC Y ATMEGA AVR
MICROCONTROLADORES PIC Y ATMEGA AVR MICROCONTROLADORES PIC Y ATMEGA AVR
MICROCONTROLADORES PIC Y ATMEGA AVR
 
Doc2
Doc2Doc2
Doc2
 
Nuevo documento de microsoft word (2)
Nuevo documento de microsoft word (2)Nuevo documento de microsoft word (2)
Nuevo documento de microsoft word (2)
 
Sensor de proximidad infrarrojo
Sensor de proximidad infrarrojoSensor de proximidad infrarrojo
Sensor de proximidad infrarrojo
 
Atmega
AtmegaAtmega
Atmega
 
Sensor de proximidad infrarrojo
Sensor de proximidad infrarrojoSensor de proximidad infrarrojo
Sensor de proximidad infrarrojo
 

Recently uploaded

Thermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VThermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VDineshKumar4165
 
UNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular ConduitsUNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular Conduitsrknatarajan
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...Call Girls in Nagpur High Profile
 
UNIT-III FMM. DIMENSIONAL ANALYSIS
UNIT-III FMM.        DIMENSIONAL ANALYSISUNIT-III FMM.        DIMENSIONAL ANALYSIS
UNIT-III FMM. DIMENSIONAL ANALYSISrknatarajan
 
result management system report for college project
result management system report for college projectresult management system report for college project
result management system report for college projectTonystark477637
 
AKTU Computer Networks notes --- Unit 3.pdf
AKTU Computer Networks notes ---  Unit 3.pdfAKTU Computer Networks notes ---  Unit 3.pdf
AKTU Computer Networks notes --- Unit 3.pdfankushspencer015
 
Online banking management system project.pdf
Online banking management system project.pdfOnline banking management system project.pdf
Online banking management system project.pdfKamal Acharya
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlysanyuktamishra911
 
Thermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptThermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptDineshKumar4165
 
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...Call Girls in Nagpur High Profile
 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...ranjana rawat
 
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingUNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingrknatarajan
 
chapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineeringchapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineeringmulugeta48
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Call Girls in Nagpur High Profile
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxAsutosh Ranjan
 
Thermal Engineering Unit - I & II . ppt
Thermal Engineering  Unit - I & II . pptThermal Engineering  Unit - I & II . ppt
Thermal Engineering Unit - I & II . pptDineshKumar4165
 
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptxBSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptxfenichawla
 

Recently uploaded (20)

Thermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VThermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - V
 
UNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular ConduitsUNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular Conduits
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
 
UNIT-III FMM. DIMENSIONAL ANALYSIS
UNIT-III FMM.        DIMENSIONAL ANALYSISUNIT-III FMM.        DIMENSIONAL ANALYSIS
UNIT-III FMM. DIMENSIONAL ANALYSIS
 
result management system report for college project
result management system report for college projectresult management system report for college project
result management system report for college project
 
AKTU Computer Networks notes --- Unit 3.pdf
AKTU Computer Networks notes ---  Unit 3.pdfAKTU Computer Networks notes ---  Unit 3.pdf
AKTU Computer Networks notes --- Unit 3.pdf
 
Online banking management system project.pdf
Online banking management system project.pdfOnline banking management system project.pdf
Online banking management system project.pdf
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghly
 
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
 
Thermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptThermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.ppt
 
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...
 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
 
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingUNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
 
chapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineeringchapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineering
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
 
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptx
 
Thermal Engineering Unit - I & II . ppt
Thermal Engineering  Unit - I & II . pptThermal Engineering  Unit - I & II . ppt
Thermal Engineering Unit - I & II . ppt
 
Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024
 
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptxBSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
 

Mikroc pro avr_manual_v100

  • 1. mikroC PRO for AVR Develop your applications quickly and easily with the world's most intuitive mikroC PRO forAVR Microcontrollers. Highly sophisticated IDE provides the power you need with the simplicity of a Windows based point-and-click environment. With useful implemented tools, many practical code examples, broad set of built-in routines, and a comprehensive Help, mikroC PRO for AVR makes a fast and reliable tool, which can satisfy needs of experienced engineers and beginners alike.
  • 2. DISCLAIMER: mikroC PRO for AVR and this manual are owned by mikroElektronika and are protected by copyright law and international copyright treaty. Therefore, you should treat this manual like any other copyrighted material (e.g., a book). The manual and the compiler may not be copied, partially or as a whole without the written consent from the mikroEelktronika. The PDF-edition of the manual can be printed for private or local use, but not for distribution. Modifying the manual or the compiler is strictly prohibited. HIGH RISK ACTIVITIES: The mikroC PRO for AVR compiler is not fault-tolerant and is not designed, manufactured or intended for use or resale as on-line control equipment in hazardous environments requir- ing fail-safe performance, such as in the operation of nuclear facilities, aircraft navigation or communication systems, air traffic control, direct life support machines, or weapons systems, in which the failure of the Software could lead directly to death, personal injury, or severe physical or environmental damage ("High Risk Activities"). mikroElektronika and its suppliers specifically disclaim any express or implied warranty of fitness for High Risk Activities. LICENSE AGREEMENT: By using the mikroC PRO for AVR compiler, you agree to the terms of this agreement. Only one person may use licensed version of mikroC PRO for AVR compiler at a time. Copyright © mikroElektronika 2003 - 2008. This manual covers mikroC PRO for AVR version 1.23 and the related topics. Newer ver- sions may contain changes without prior notice. COMPILER BUG REPORTS: The compiler has been carefully tested and debugged. It is, however, not possible to guarantee a 100 % error free product. If you would like to report a bug, please contact us at the address office@mikroe.com. Please include next information in your bug report: - Your operating system - Version of mikroC PRO for AVR - Code sample - Description of a bug CONTACT US: mikroElektronika Voice: + 381 (11) 36 28 830 Fax: + 381 (11) 36 28 831 Web: www.mikroe.com E-mail: office@mikroe.com Reader’s note Windows is a Registered trademark of Microsoft Corp. All other trade and/or services marks are the property of the respective owners. MIKROELEKTRONIKA - SOFTWARE AND HARDWARE SOLUTIONS FOR EMBEDDED WORLD mikroC PRO for AVR December 2008. Reader’sNote
  • 3. USER MANUAL Table of Contents CHAPTER 1 Introduction CHAPTER 2 mikroC PRO for AVR Environment CHAPTER 3 mikroC PRO for AVR Specifics CHAPTER 4 AVR Specifics CHAPTER 5 mikroC PRO for AVR Language Reference CHAPTER 6 mikroC PRO for AVR Libraries
  • 4. CHAPTER 1 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Where to Start . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 mikroElektronika Associates License Statement and Limited Warranty . . . . . 4 IMPORTANT - READ CAREFULLY . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 LIMITED WARRANTY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 HIGH RISK ACTIVITIES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 GENERAL PROVISIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Technical Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 How to Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Who Gets the License Key . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 How to Get License Key . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 After Receving the License Key . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 CHAPTER 2 IDE Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Main Menu Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 File Menu Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 Edit Menu Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 Find Text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 Replace Text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 Find In Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 Go To Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 Regular expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 View Menu Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 Toolbars . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 File Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 Edit Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 Advanced Edit Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 Find/Replace Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 Project Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 Build Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 Debugger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 Styles Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 Tools Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 Project Menu Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 MIKROELEKTRONIKA - SOFTWARE AND HARDWARE SOLUTIONS FOR EMBEDDED WORLD mikroC PRO for AVRTable of Contents IV
  • 5. Run Menu Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 Tools Menu Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 Help Menu Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 Keyboard Shortcuts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 mikroc pro for avr ide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 IDE Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 Customizing IDE Layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 Docking Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 Saving Layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 Auto Hide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 Advanced Code Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 Advanced Editor Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 Code Assistant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 Code Folding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 Parameter Assistant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 Code Templates (Auto Complete) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 Auto Correct . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 Spell Checker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 Bookmarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 Goto Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 Comment / Uncomment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 Code Explorer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 Routine List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 Project Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 Project Settings Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 Library Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 Error Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 Statistics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 Memory Usage Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 RAM Memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 Rx Memory Space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 Data Memory Space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 Special Function Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 General Purpose Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 ROM Memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 ROM Memory Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 MIKROELEKTRONIKA - SOFTWARE AND HARDWARE SOLUTIONS FOR EMBEDDED WORLD mikroC PRO for AVR Table of Contents V
  • 6. ROM Memory Allocation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 Procedures Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 Procedures Size Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 Procedures Locations Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 HTML Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 Macro Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 Integrated Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 USART Terminal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 ASCII Chart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 EEPROM Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 7 Segment Display Decoder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 UDP Terminal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 Graphic LCD Bitmap Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 LCD Custom Character . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 Code editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 Output settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 Regular Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 Simple matches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 Escape sequences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 Character classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 Metacharacters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 Metacharacters - Line separators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 Metacharacters - Predefined classes . . . . . . . . . . . . . . . . . . . . . . . . . . 71 Metacharacters - Word boundaries . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 Metacharacters - Iterators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 Metacharacters - Alternatives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 Metacharacters - Subexpressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 Metacharacters - Backreferences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 mikroC PRO for AVR Command Line Options . . . . . . . . . . . . . . . . . . . . . . . . 75 tutorials . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 Projects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 New Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 New Project Wizard Steps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 MIKROELEKTRONIKA - SOFTWARE AND HARDWARE SOLUTIONS FOR EMBEDDED WORLD mikroC PRO for AVRTable of Contents VI
  • 7. Customizing Projects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 Edit Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 Managing Project Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 Add/Remove Files from Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 Project Level Defines: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 Source Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 Managing Source Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 Creating new source file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 Opening an existing file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 Printing an open file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 Saving file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 Saving file under a different name . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 Closing file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 Clean Project Folder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 Clean Project Folder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 Compilation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 Output Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 Assembly View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 Error Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 Compiler Error Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 Compiler Warning Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 Linker Error Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 Software Simulator Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 Watch Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 Stopwatch Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 RAM Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 Software Simulator Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 Creating New Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 Multiple Library Versions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 MIKROELEKTRONIKA - SOFTWARE AND HARDWARE SOLUTIONS FOR EMBEDDED WORLD mikroC PRO for AVR Table of Contents VII
  • 8. CHAPTER 3 Notes: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 ANSI Standard Issues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 Divergence from the ANI C Standard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 Predefined Globals and Constants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 Predefined project level defines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 Accessing Individual Bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 Accessing Individual Bits Of Variables . . . . . . . . . . . . . . . . . . . . . . . . . 100 sbit type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 bit type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 Function Calls from Interrupt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 Linker Directives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 Directive absolute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 Directive org . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 Directive orgal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 Indirect Function Calls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 Built-in Routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 Lo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 Hi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 Higher . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 Highest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 Delay_us . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 Delay_ms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 Vdelay_ms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 Delay_Cyc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 Clock_kHz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 Clock_MHz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 Get_Fosc_kHz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 Code Optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 Constant folding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 Constant propagation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 Copy propagation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 Value numbering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 "Dead code" ellimination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 Stack allocation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 MIKROELEKTRONIKA - SOFTWARE AND HARDWARE SOLUTIONS FOR EMBEDDED WORLD mikroC PRO for AVRTable of Contents VIII
  • 9. Local vars optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 Better code generation and local optimization . . . . . . . . . . . . . . . . . . . 111 CHAPTER 4 Types Efficiency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 Nested Calls Limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 Important notes: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 AVR Memory Organization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 Program Memory (ROM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 Data Memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 Memory Type Specifiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 rx . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 io . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 sfr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 CHAPTER 5 mikroC PRO for AVR language Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 Lexical Elements Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 Whitespace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 Whitespace in Strings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 Line Splicing with Backslash () . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 Comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 C comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 C++ comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 Nested comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 Tokens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 Token Extraction Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 Constants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 Integer Constants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 Long and Unsigned Suffixes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 Decimal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 Hexadecimal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 Binary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 Octal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 MIKROELEKTRONIKA - SOFTWARE AND HARDWARE SOLUTIONS FOR EMBEDDED WORLD mikroC PRO for AVR Table of Contents IX
  • 10. Floating Point Constants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 Character Constants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 Escape Sequences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 Disambiguation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 String Constants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 Line Continuation with Backslash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 Enumeration Constants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 Constant Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 Keywords . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 Identifiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 Case Sensitivity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 Uniqueness and Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 Identifier Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 Punctuators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 Brackets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 Parentheses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 Braces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 Comma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 Semicolon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 Colon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 Asterisk (Pointer Declaration) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 Equal Sign . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 Pound Sign (Preprocessor Directive) . . . . . . . . . . . . . . . . . . . . . . . . . . 141 Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 Objects and Declarations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 Lvalues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 Rvalues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 Scope and Visibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 Visibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 Name Spaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 Duration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 Static Duration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 Local Duration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 MIKROELEKTRONIKA - SOFTWARE AND HARDWARE SOLUTIONS FOR EMBEDDED WORLD mikroC PRO for AVRTable of Contents X
  • 11. Type Categories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 Fundamental Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 Arithmetic Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 Integral Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 Floating-point Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 Enumerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 Enumeration Declaration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 Anonymous Enum Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 Enumeration Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 Void Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 Void Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 Generic Pointers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 Derived Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 Arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 Array Declaration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 Arrays in Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 Multi-dimensional Arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 Pointers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158 Pointer Declarations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158 Null Pointers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 Function Pointers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160 Assign an address to a Function Pointer . . . . . . . . . . . . . . . . . . . . . . . 160 Pointer Arithmetic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 Arrays and Pointers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 Assignment and Comparison . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 Pointer Addition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 Pointer Subtraction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164 Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165 Structure Declaration and Initialization . . . . . . . . . . . . . . . . . . . . . . . . . 165 Untagged Structures and Typedefs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166 Working with Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 Assignment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 Size of Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 Structures and Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 Structure Member Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 Accessing Nested Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 MIKROELEKTRONIKA - SOFTWARE AND HARDWARE SOLUTIONS FOR EMBEDDED WORLD mikroC PRO for AVR Table of Contents XI
  • 12. Structure Uniqueness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 Unions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170 Union Declaration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170 Size of Union . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170 Union Member Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170 Bit Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172 Bit Fields Declaration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172 Bit Fields Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 Types Conversions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 Standard Conversions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175 Arithmetic Conversions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175 In details: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175 Pointer Conversions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176 Explicit Types Conversions (Typecasting) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177 Declarations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 Declarations and Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 Declarations and Declarators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179 Linkage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180 Linkage Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180 Internal Linkage Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180 External Linkage Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180 Storage Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 Auto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 Static . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182 Extern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182 Type Qualifiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183 Qualifier const . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183 Qualifier volatile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183 Typedef Specifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184 asm Declaration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185 Automatic Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186 Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187 Function Prototypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188 Function Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188 Functions reentrancy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189 MIKROELEKTRONIKA - SOFTWARE AND HARDWARE SOLUTIONS FOR EMBEDDED WORLD mikroC PRO for AVRTable of Contents XII
  • 13. Function Calls and Argument Conversions . . . . . . . . . . . . . . . . . . . . . . . . . . . 190 Function Calls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190 Argument Conversions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191 Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193 Operators Precedence and Associativity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194 Arithmetic Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195 Arithmetic Operators Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195 Binary Arithmetic Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195 Unary Arithmetic Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196 Relational Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197 Relational Operators Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197 Relational Operators in Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . 197 Bitwise Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198 Bitwise Operators Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198 Logical Operations on Bit Level . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198 Bitwise Shift Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199 Bitwise vs. Logical . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199 Logical Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200 Logical Operators Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200 Logical Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200 Logical Expressions and Side Effects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201 Logical vs. Bitwise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201 Conditional Operator ? : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202 Conditional Operator Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202 Assignment Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203 Simple Assignment Operator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203 Compound Assignment Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203 Assignment Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204 Sizeof Operator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205 Sizeof Applied to Expression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205 Sizeof Applied to Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205 Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206 Comma Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207 Note . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207 Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208 Labeled Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208 MIKROELEKTRONIKA - SOFTWARE AND HARDWARE SOLUTIONS FOR EMBEDDED WORLD mikroC PRO for AVR Table of Contents XIII
  • 14. Expression Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209 Selection Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209 If Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210 Nested If statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210 Note . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210 Switch Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211 Nested switch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212 Iteration Statements (Loops) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212 While Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212 Do Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213 For Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214 Jump Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215 Break and Continue Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215 Break Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215 Continue Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215 Goto Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216 Return Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217 Compound Statements (Blocks) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217 Preprocessor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218 Preprocessor Directives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219 Line Continuation with Backslash () . . . . . . . . . . . . . . . . . . . . . . . . . . . 219 Macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220 Macros with Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221 Undefining Macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222 File Inclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223 Explicit Path . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223 Note . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223 Preprocessor Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224 Operator # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224 Operator ## . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224 Note . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224 Conditional Compilation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225 Directives #if, #elif, #else, and #endif . . . . . . . . . . . . . . . . . . . . . . . . . . 225 Directives #ifdef and #ifndef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226 MIKROELEKTRONIKA - SOFTWARE AND HARDWARE SOLUTIONS FOR EMBEDDED WORLD mikroC PRO for AVRTable of Contents XIV
  • 15. CHAPTER 6 Hardware AVR-specific Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228 Standard ANSI C Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229 Miscellaneous Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229 Library Dependencies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229 ADC Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231 ADC_Read . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231 Library Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232 HW Connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233 CANSPI Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234 External dependecies of CANSPI Library . . . . . . . . . . . . . . . . . . . . . . . 235 Library Routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235 CANSPISetOperationMode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236 CANSPIGetOperationMode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236 CANSPIInitialize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237 CANSPISetBaudRate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239 CANSPISetMask . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240 CANSPISetFilter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241 CANSPIRead . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242 CANSPIWrite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243 CANSPI Constants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244 CANSPI_OP_MODE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244 CANSPI_CONFIG_FLAGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244 CANSPI_TX_MSG_FLAGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245 CANSPI_RX_MSG_FLAGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246 CANSPI_MASK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246 CANSPI_FILTER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247 Library Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247 HW Connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250 Compact Flash Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251 External dependencies of Compact Flash Library . . . . . . . . . . . . . . . . 252 Library Routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253 Cf_Init . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254 Cf_Detect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255 Cf_Enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255 Cf_Disable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255 MIKROELEKTRONIKA - SOFTWARE AND HARDWARE SOLUTIONS FOR EMBEDDED WORLD mikroC PRO for AVR Table of Contents XV
  • 16. Cf_Read_Init . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256 Cf_Read_Byte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256 Cf_Write_Init . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257 Cf_Write_Byte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257 Cf_Read_Sector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258 Cf_Write_Sector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258 Cf_Fat_Init . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259 Cf_Fat_QuickFormat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259 Cf_Fat_Assign . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260 Cf_Fat_Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261 Cf_Fat_Read . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261 Cf_Fat_Rewrite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262 Cf_Fat_Append . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262 Cf_Fat_Delete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262 Cf_Fat_Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263 Cf_Fat_Set_File_Date . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264 Cf_Fat_Get_File_Date . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265 Cf_Fat_Get_File_Size . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266 Cf_Fat_Get_Swap_File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267 Library Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269 HW Connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274 EEPROM Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275 Library Routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275 EEPROM_Read . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275 EEPROM_Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276 Library Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277 Flash Memory Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278 Library Routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278 FLASH_Read_Byte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278 FLASH_Read_Bytes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279 FLASH_Read_Word . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279 FLASH_Read_Words . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280 Library Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280 Graphic LCD Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282 External dependencies of Graphic LCD Library . . . . . . . . . . . . . . . . . . 282 Library Routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283 MIKROELEKTRONIKA - SOFTWARE AND HARDWARE SOLUTIONS FOR EMBEDDED WORLD mikroC PRO for AVRTable of Contents XVI
  • 17. Glcd_Init . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284 Glcd_Set_Side . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285 Glcd_Set_X . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285 Glcd_Set_Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286 Glcd_Read_Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286 Glcd_Write_Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287 Glcd_Fill . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287 Glcd_Dot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288 Glcd_Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289 Glcd_V_Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289 Glcd_H_Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290 Glcd_Rectangle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290 Glcd_Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291 Glcd_Circle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291 Glcd_Set_Font . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292 Glcd_Write_Char . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293 Glcd_Write_Text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294 Glcd_Image . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295 Library Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295 HW Connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298 Keypad Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299 External dependencies of Keypad Library . . . . . . . . . . . . . . . . . . . . . . . 299 Library Routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299 Keypad_Init . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300 Keypad_Key_Press . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301 Keypad_Key_Click . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301 Library Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301 HW Connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304 Lcd Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305 External dependencies of Lcd Library . . . . . . . . . . . . . . . . . . . . . . . . . . 305 Library Routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306 Lcd_Init . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307 Lcd_Out . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308 Lcd_Out_Cp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308 Lcd_Chr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309 Lcd_Chr_Cp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309 MIKROELEKTRONIKA - SOFTWARE AND HARDWARE SOLUTIONS FOR EMBEDDED WORLD mikroC PRO for AVR Table of Contents XVII
  • 18. Lcd_Cmd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310 Available Lcd Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310 Library Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311 Manchester Code Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313 External dependencies of Manchester Code Library . . . . . . . . . . . . . . 314 Library Routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314 Man_Receive_Init . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315 Man_Receive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316 Man_Send_Init . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316 Man_Send . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317 Man_Synchro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317 Man_Break . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318 Library Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319 Connection Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321 Multi Media Card Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323 Secure Digital Card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323 External dependecies of MMC Library . . . . . . . . . . . . . . . . . . . . . . . . . 323 Library Routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324 Mmc_Init . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325 Mmc_Read_Sector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325 Mmc_Write_Sector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326 Mmc_Read_Cid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326 Mmc_Read_Csd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326 Mmc_Fat_Init . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327 Mmc_Fat_QuickFormat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328 Mmc_Fat_Assign . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329 Mmc_Fat_Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330 Mmc_Fat_Rewrite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330 Mmc_Fat_Append . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330 Mmc_Fat_Read . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331 Mmc_Fat_Delete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331 Mmc_Fat_Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331 Mmc_Fat_Set_File_Date . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332 Mmc_Fat_Get_File_Date . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332 Mmc_Fat_Get_File_Size . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333 Mmc_Fat_Get_Swap_File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334 MIKROELEKTRONIKA - SOFTWARE AND HARDWARE SOLUTIONS FOR EMBEDDED WORLD mikroC PRO for AVRTable of Contents XVIII
  • 19. Library Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335 HW Connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346 OneWire Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347 External dependencies of OneWire Library . . . . . . . . . . . . . . . . . . . . . . 347 Library Routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348 Ow_Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348 Ow_Read . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349 Ow_Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349 Library Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350 HW Connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352 Port Expander Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353 External dependencies of Port Expander Library . . . . . . . . . . . . . . . . . 353 Library Routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353 Expander_Init . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354 Expander_Read_Byte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355 Expander_Write_Byte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355 Expander_Read_PortA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356 Expander_Read_PortB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356 Expander_Read_PortAB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357 Expander_Write_PortA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358 Expander_Write_PortB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359 Expander_Write_PortAB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360 Expander_Set_DirectionPortA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361 Expander_Set_DirectionPortB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361 Expander_Set_DirectionPortAB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362 Expander_Set_PullUpsPortA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362 Expander_Set_PullUpsPortB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363 Expander_Set_PullUpsPortAB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363 Library Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364 HW Connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365 PS/2 Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366 External dependencies of PS/2 Library . . . . . . . . . . . . . . . . . . . . . . . . . 366 Library Routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366 Ps2_Config . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366 Ps2_Key_Read . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366 Ps2_Config . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367 MIKROELEKTRONIKA - SOFTWARE AND HARDWARE SOLUTIONS FOR EMBEDDED WORLD mikroC PRO for AVR Table of Contents XIX
  • 20. Ps2_Key_Read . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368 Special Function Keys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369 Library Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370 HW Connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371 PWM Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372 Library Routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372 Predefined constants used in PWM library . . . . . . . . . . . . . . . . . . . . . . 372 PWM_Init . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374 PWM_Set_Duty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376 PWM_Start . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376 PWM_Stop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376 PWM1_Init . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377 PWM1_Set_Duty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379 PWM1_Start . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379 PWM1_Stop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379 Library Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380 HW Connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381 PWM 16 bit Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382 Library Routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382 Predefined constants used in PWM-16bit library . . . . . . . . . . . . . . . . . 382 PWM16bit_Init . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384 PWM16bit_Change_Duty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386 PWM16bit_Start . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387 PWM16bit_Stop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387 Library Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388 HW Connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389 RS-485 Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 390 External dependencies of RS-485 Library . . . . . . . . . . . . . . . . . . . . . . . 390 Library Routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391 RS485Master_Init . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391 RS485Master_Receive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392 RS485Master_Send . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393 RS485Slave_Init . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394 RS485Slave_Receive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395 RS485Slave_Send . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396 Library Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396 MIKROELEKTRONIKA - SOFTWARE AND HARDWARE SOLUTIONS FOR EMBEDDED WORLD mikroC PRO for AVRTable of Contents XX
  • 21. HW Connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 400 Message format and CRC calculations . . . . . . . . . . . . . . . . . . . . . . . . . 401 Software I˛C Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 402 External dependecies of Soft_I2C Library . . . . . . . . . . . . . . . . . . . . . . . 402 Library Routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403 Soft_I2C_Init . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403 Soft_I2C_Start . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404 Soft_I2C_Read . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404 Soft_I2C_Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405 Soft_I2C_Stop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405 Soft_I2C_Break . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 406 Library Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407 Software SPI Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 410 External dependencies of Software SPI Library . . . . . . . . . . . . . . . . . . 410 Library Routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411 Soft_SPI_Init . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411 Soft_SPI_Read . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412 Soft_SPI_Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412 Library Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413 Software UART Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415 External dependencies of Software UART Library . . . . . . . . . . . . . . . . 415 Library Routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415 Soft_UART_Init . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 416 Soft_UART_Read . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417 Soft_UART_Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 418 Soft_UART_Break . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 419 Library Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 420 Sound Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 421 External dependencies of Sound Library . . . . . . . . . . . . . . . . . . . . . . . 421 Library Routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 421 Sound_Init . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422 Sound_Play . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422 Library Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423 HW Connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425 SPI Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 426 Library Routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 426 MIKROELEKTRONIKA - SOFTWARE AND HARDWARE SOLUTIONS FOR EMBEDDED WORLD mikroC PRO for AVR Table of Contents XXI
  • 22. SPI1_Init . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 426 SPI1_Init_Advanced . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427 SPI1_Read . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 428 SPI1_Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 428 Library Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 429 HW Connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 430 SPI Ethernet Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 431 External dependencies of SPI Ethernet Library . . . . . . . . . . . . . . . . . . 432 Library Routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433 SPI_Ethernet_Init . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434 SPI_Ethernet_Enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436 SPI_Ethernet_Disable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 437 SPI_Ethernet_doPacket . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 438 SPI_Ethernet_putByte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439 SPI_Ethernet_putBytes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439 SPI_Ethernet_putConstBytes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440 SPI_Ethernet_putString . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440 SPI_Ethernet_putConstString . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441 SPI_Ethernet_getByte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441 SPI_Ethernet_getBytes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 442 SPI_Ethernet_UserTCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443 SPI_Ethernet_UserUDP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444 Library Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444 HW Connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 452 SPI Graphic Lcd Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453 External dependencies of SPI Graphic Lcd Library . . . . . . . . . . . . . . . 453 Library Routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453 SPI_Glcd_Init . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454 SPI_Glcd_Set_Side . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 455 SPI_Glcd_Set_Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 455 SPI_Glcd_Set_X . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 456 SPI_Glcd_Read_Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 456 SPI_Glcd_Write_Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 457 SPI_Glcd_Fill . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 457 SPI_Glcd_Dot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 458 SPI_Glcd_Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 458 MIKROELEKTRONIKA - SOFTWARE AND HARDWARE SOLUTIONS FOR EMBEDDED WORLD mikroC PRO for AVRTable of Contents XXII
  • 23. SPI_Glcd_V_Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 459 SPI_Glcd_H_Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 459 SPI_Glcd_Rectangle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 460 SPI_Glcd_Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 460 SPI_Glcd_Circle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 461 SPI_Glcd_Set_Font . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 462 SPI_Glcd_Write_Char . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 463 SPI_Glcd_Write_Text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 464 SPI_Glcd_Image . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465 Library Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465 HW Connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 468 SPI Lcd Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 469 External dependencies of SPI Lcd Library . . . . . . . . . . . . . . . . . . . . . . 469 Library Routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 469 SPI_Lcd_Config . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 470 SPI_Lcd_Out . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 471 SPI_Lcd_Out_Cp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 471 SPI_Lcd_Chr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 472 SPI_Lcd_Chr_Cp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 472 SPI_Lcd_Cmd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473 Available Lcd Commands . . . . . . . . . . . . . . . . . . . . . . . . . 473 Library Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474 HW Connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 475 SPI Lcd8 (8-bit interface) Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 476 External dependencies of SPI Lcd Library . . . . . . . . . . . . . . . . . . . . . . 476 Library Routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 476 SPI_Lcd8_Config . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 477 SPI_Lcd8_Out . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 478 SPI_Lcd8_Out_Cp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 478 SPI_Lcd8_Chr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 479 SPI_Lcd8_Chr_Cp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 479 SPI_Lcd8_Cmd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 480 Available Lcd Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 480 Library Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 481 HW Connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 482 SPI T6963C Graphic Lcd Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 483 MIKROELEKTRONIKA - SOFTWARE AND HARDWARE SOLUTIONS FOR EMBEDDED WORLD mikroC PRO for AVR Table of Contents XXIII
  • 24. External dependencies of SPI T6963C Graphic Lcd Library . . . . . . . . 483 Library Routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 484 SPI_T6963C_Config . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 485 SPI_T6963C_WriteData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 487 SPI_T6963C_WriteCommand . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 487 SPI_T6963C_SetPtr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 487 SPI_T6963C_WaitReady . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 488 SPI_T6963C_Fill . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 488 SPI_T6963C_Dot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 488 SPI_T6963C_Write_Char . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 489 SPI_T6963C_Write_Text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 490 SPI_T6963C_Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 491 SPI_T6963C_Rectangle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 491 SPI_T6963C_Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 492 SPI_T6963C_Circle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 492 SPI_T6963C_Image . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 493 SPI_T6963C_Sprite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 493 SPI_T6963C_Set_Cursor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 494 SPI_T6963C_ClearBit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 494 SPI_T6963C_SetBit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 495 SPI_T6963C_NegBit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 495 SPI_T6963C_DisplayGrPanel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 496 SPI_T6963C_DisplayTxtPanel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 496 SPI_T6963C_SetGrPanel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 496 SPI_T6963C_SetTxtPanel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 497 SPI_T6963C_PanelFill . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 497 SPI_T6963C_GrFill . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 497 SPI_T6963C_TxtFill . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 498 SPI_T6963C_Cursor_Height . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 498 SPI_T6963C_Graphics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 498 SPI_T6963C_Text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 499 SPI_T6963C_Cursor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 499 SPI_T6963C_Cursor_Blink . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 500 Library Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 500 HW Connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 505 T6963C Graphic LCD Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 506 MIKROELEKTRONIKA - SOFTWARE AND HARDWARE SOLUTIONS FOR EMBEDDED WORLD mikroC PRO for AVRTable of Contents XXIV
  • 25. External dependencies of T6963C Graphic LCD Library . . . . . . . . . . . 507 Library Routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 508 T6963C_Init . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 509 T6963C_WriteData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 510 T6963C_WriteCommand . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 511 T6963C_SetPtr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 511 T6963C_WaitReady . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 511 T6963C_Fill . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 512 T6963C_Dot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 512 T6963C_Write_Char . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 513 T6963C_Write_Text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 514 T6963C_Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 515 T6963C_Rectangle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 515 T6963C_Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 516 T6963C_Circle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 516 T6963C_Image . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 517 T6963C_Sprite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 517 T6963C_Set_Cursor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 518 T6963C_ClearBit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 518 T6963C_SetBit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 519 T6963C_NegBit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 519 T6963C_DisplayGrPanel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 520 T6963C_DisplayTxtPanel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 520 T6963C_SetGrPanel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 521 T6963C_SetTxtPanel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 521 T6963C_PanelFill . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 522 T6963C_GrFill . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 522 T6963C_TxtFill . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 522 T6963C_Cursor_Height . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 523 T6963C_Graphics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 523 T6963C_Text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 523 T6963C_Cursor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 524 T6963C_Cursor_Blink . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 524 Library Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 525 HW Connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 529 TWI Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 530 MIKROELEKTRONIKA - SOFTWARE AND HARDWARE SOLUTIONS FOR EMBEDDED WORLD mikroC PRO for AVR Table of Contents XXV
  • 26. Library Routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 530 TWI_Init . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 530 TWI_Busy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 531 TWI_Start . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 531 TWI_Read . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 531 TWI_Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 532 TWI_Stop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 532 TWI_Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 532 TWI_Close . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 532 Library Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 533 HW Connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 533 UART Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 534 Library Routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 534 UARTx_Init . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 535 UARTx_Init_Advanced . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 536 UARTx_Data_Ready . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 537 UARTx_Read . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 537 UARTx_Read_Text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 538 UARTx_Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 539 UARTx_Write_Text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 539 Library Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 540 HW Connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 541 ANSI C Ctype Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 542 Library Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 542 isalnum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 542 isalpha . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 542 iscntrl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 542 isdigit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 543 isgraph . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 543 islower . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 543 ispunct . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 543 isspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 543 isupper . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 543 isxdigit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 543 toupper . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 544 tolower . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 544 MIKROELEKTRONIKA - SOFTWARE AND HARDWARE SOLUTIONS FOR EMBEDDED WORLD mikroC PRO for AVRTable of Contents XXVI
  • 27. ANSI C Math Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 545 Library Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 545 acos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 546 asin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 546 atan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 546 atan2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 546 ceil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 546 cos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 546 cosh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 547 eval_poly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 547 exp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 547 fabs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 547 floor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 547 frexp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 547 ldexp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 547 log . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 548 log10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 548 modf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 548 pow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 548 sin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 548 sinh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 548 sqrt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 548 tan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 549 tanh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 549 ANSI C Stdlib Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 550 Library Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 550 abs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 550 atof . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 550 atoi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 551 atol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 551 div . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 551 ldiv . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 551 uldiv . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 552 labs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 552 max . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 552 min . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 552 MIKROELEKTRONIKA - SOFTWARE AND HARDWARE SOLUTIONS FOR EMBEDDED WORLD mikroC PRO for AVR Table of Contents XXVII
  • 28. rand . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 552 srand . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 552 xtoi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 553 Div Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 553 ANSI C String Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 554 Library Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 554 memchr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 555 memcmp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 555 memcpy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 555 memmove . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 555 memset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 555 strcat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 556 strchr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 556 strcmp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 556 strcpy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 556 strlen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 556 strncat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 557 strncpy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 557 strspn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 557 Strncmp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 557 Strstr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 558 Strcspn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 558 Strpbrk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 558 Strrchr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 558 Button Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 559 External dependecies of Button Library . . . . . . . . . . . . . . . . . . . . . . . . 559 Library Routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 559 Button . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 560 Conversions Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 561 Library Routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 561 ByteToStr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 562 ShortToStr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 562 WordToStr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 563 IntToStr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 563 LongToStr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 564 LongWordToStr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 564 MIKROELEKTRONIKA - SOFTWARE AND HARDWARE SOLUTIONS FOR EMBEDDED WORLD mikroC PRO for AVRTable of Contents
  • 29. FloatToStr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 565 Dec2Bcd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 566 Bcd2Dec16 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 566 Dec2Bcd16 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 567 Sprint Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 568 Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 568 sprintf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 568 sprintl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 571 sprinti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 571 Library Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 572 Time Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 573 Library Routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 573 Time_dateToEpoch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 573 Time_epochToDate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 574 Time_dateDiff . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 575 Library Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 576 Trigonometry Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 577 Library Routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 577 sinE3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 577 cosE3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 578 MIKROELEKTRONIKA - SOFTWARE AND HARDWARE SOLUTIONS FOR EMBEDDED WORLD mikroC PRO for AVR Table of Contents XXIX
  • 30. MIKROELEKTRONIKA - SOFTWARE AND HARDWARE SOLUTIONS FOR EMBEDDED WORLD mikroC PRO for AVRTable of Contents XXX