APPLICATION NOTE REJ05B0468-0100Z/Rev.1.00 September 2004 Page 1 of 102 740 Family Programming Guidelines <C Language> Preface This applicatio
740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 10 of 102 Method for Writing Comments Comments are
740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 100 of 102 2.5.5 Setting Up the Interrupt Vector Se
740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 101 of 102 REVISION HISTORY 740 family Programming
740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 102 of 102 1. These materials are intended as a re
740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 11 of 102 The words listed in the following are
740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 12 of 102 1.2 Data Types 1.2.1 "Constants"
740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 13 of 102 Character String Constants A row of alph
740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 14 of 102 1.2.2 Variables Before a variable can be
740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 15 of 102 Declaration of Variables Variables are d
740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 16 of 102 1.2.3 Data Characteristics When declaring
740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 17 of 102 Inhibiting Optimization by Compiler (vola
740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 18 of 102 1.3 Operators 1.3.1 Operators of ICC740 I
740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 19 of 102 1.3.2 Operators for Numeric Calculations
740 Family Programming Guidelines <C Language> REJ05B0468-0100Z /Rev.100 September 2004 Page 2 of 102 Table of Contents Chapter 1 Introducti
740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 20 of 102 Assignment Operators The operation of &q
740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 21 of 102 1.3.3 Operators for Processing Data The o
740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 22 of 102 Comparison between Arithmetic and Logical
740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 23 of 102 1.3.4 Operators for Examining Condition U
740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 24 of 102 1.3.5 Other Operators This section explai
740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 25 of 102 Cast Operator When operation is performe
740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 26 of 102 1.3.6 Priorities of Operators The operato
740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 27 of 102 1.3.7 Examples for Easily Mistaken Use of
740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 28 of 102 Incorrectly Interpreted "Precedence&
740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 29 of 102 1.4 Control Statements 1.4.1 Structuring
740 Family Programming Guidelines <C Language> REJ05B0468-0100Z /Rev.100 September 2004 Page 3 of 102 1.9.3 Macro Definition ...
740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 30 of 102 1.4.2 Branching Processing Depending on C
740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 31 of 102 else-if Statement Use this statement whe
740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 32 of 102 switch-case Statement This statement cau
740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 33 of 102 A switch-case statement normally has a
740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 34 of 102 1.4.3 Repetition of Same Processing (Repe
740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 35 of 102 for Statement The repeat processing that
740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 36 of 102 do-while Statement Unlike the for and wh
740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 37 of 102 1.4.4 Suspending Processing There are con
740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 38 of 102 goto Statement When a goto statement is
740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 39 of 102 1.5 Functions 1.5.1 Functions and Subrout
APPLICATION NOTE REJ05B0468-0100Z /Rev.1.00 September 2004 Page 4 of 102 Chapter 1 Introduction to C Language 1.1 Programming in C Language 1.
740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 40 of 102 1.5.2 Creating Functions Three procedures
740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 41 of 102 Example for a Function In this example,
740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 42 of 102 1.5.3 Exchanging Data between Functions I
740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 43 of 102 1.6 Storage Classes 1.6.1 Effective Range
740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 44 of 102 1.6.2 Storage Classes of Variables The st
740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 45 of 102 Storage Classes of External Variable If
740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 46 of 102 1.6.3 Storage Classes of Functions The st
740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 47 of 102 Summary of Storage Classes Storage class
740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 48 of 102 1.7 Arrays and Pointers 1.7.1 Arrays Arra
740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 49 of 102 1.7.2 Creating an Array There are two typ
740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 5 of 102 1.1 Programming in C Language 1.1.1 Assemb
740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 50 of 102 Two-dimensional Array A two-dimensional
740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 51 of 102 1.7.3 Pointers A pointer is a variable th
740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 52 of 102 Relationship between Pointer Variables an
740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 53 of 102 1.7.4 Using Pointers This section shows s
740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 54 of 102 Passing Addresses between Functions The
740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 55 of 102 1.7.5 Placing Pointers into an Array This
740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 56 of 102 Pointer Array and Two-dimensional Array
740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 57 of 102 1.7.6 Table Jump Using Function Pointer I
740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 58 of 102 1.8 Struct and Union 1.8.1 Struct and Uni
740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 59 of 102 1.8.2 Creating New Data Types The element
740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 6 of 102 1.1.2 Program Development Procedure The op
740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 60 of 102 Referencing Struct To refer to each memb
740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 61 of 102 Example for Referencing Members Using a P
740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 62 of 102 Unions Unions are characteristic in that
740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 63 of 102 1.9 Preprocess Commands 1.9.1 Preprocess
740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 64 of 102 1.9.2 Including a File Use the command &q
740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 65 of 102 1.9.3 Macro Definition Use the "#def
740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 66 of 102 Defining a Macro Function The command &q
740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 67 of 102 1.9.4 Conditional Compile ICC740 allows y
740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 68 of 102 Example for Conditional Compile Descripti
APPLICATION NOTE REJ05B0468-0100Z /Rev.1.00 September 2004 Page 69 of 102 Chapter 2 Downloading a Program into the ROM 2.1 Memory Allocation 2
740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 7 of 102 Creating Machine Language File from Source
740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 70 of 102 2.1 Memory Allocation 2.1.1 Types of Code
740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 71 of 102 2.1.2 Segments Managed by the ICC740 The
740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 72 of 102 2.1.3 Controlling Memory Allocation The I
740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 73 of 102 Adding segment names (“lnk740.xcl”) The
740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 74 of 102 #pragma codeseg (segment name to be c
740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 75 of 102 2.2 Initialization Setup Files 2.2.1 Role
740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 76 of 102 2.2.2 Startup Program For a built-in type
740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 77 of 102 Setting up the stack page (“cstartup.s31”
740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 78 of 102 Registering the reset vector (“cstartup.s
740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 79 of 102 2.2.3 Link Command File The link command
740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 8 of 102 1.1.3 Easily Understandable Program Since
740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 80 of 102 Segment location and beginning/ending add
740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 81 of 102 Setting the stack size (“lnk740.xcl”) Th
740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 82 of 102 Setting the beginning/ending addresses of
740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 83 of 102 Specifying a library (“lnk740.xcl”) Spec
740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 84 of 102 2.3 Extended Functions for Putting into t
740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 85 of 102 Pointer variables A pointer variable its
740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 86 of 102 2.3.2 Handling of Bits The ICC740 allows
740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 87 of 102 If it is desired to change the order i
740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 88 of 102 2.3.3 Control of the I/O Interface To con
740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 89 of 102 2.3.4 Alternative Way when Unable to Writ
740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 9 of 102 Programming Style To improve program main
740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 90 of 102 2.4 Linkage with Assembly Language 2.4.1
740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 91 of 102 Rules for passing arguments The ICC740 u
740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 92 of 102 Interface keywords To declare the functi
740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 93 of 102 2.4.2 Calling Assembly Language from C La
740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 94 of 102 Example for calling a subroutine The fol
740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 95 of 102 2.5 Interrupt Handling The ICC740 allows
740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 96 of 102 2.5.1 Example for Writing Interrupt Handl
740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 97 of 102 2.5.2 Writing Interrupt Handling Function
740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 98 of 102 2.5.3 Setting the Interrupt Disable Flag
740 Family Programming Guide <C Language> REJ05B0468-0100Z /Rev.1.00 September 2004 Page 99 of 102 2.5.4 Registering to the Interrupt Vector
Commentaires sur ces manuels