~ubuntu-branches/ubuntu/maverick/avr-libc/maverick

« back to all changes in this revision

Viewing changes to include/avr/fuse.h

  • Committer: Bazaar Package Importer
  • Author(s): Hakan Ardo
  • Date: 2009-10-31 11:52:10 UTC
  • mfrom: (1.2.2 upstream)
  • mto: This revision was merged to the branch mainline in revision 10.
  • Revision ID: james.westby@ubuntu.com-20091031115210-crjd42sn6ezrj52c
* New upstream relese (closes: #544030)
* Added lintian overrides (closes: #553265)

Show diffs side-by-side

added added

removed removed

Lines of Context:
28
28
  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
29
29
  POSSIBILITY OF SUCH DAMAGE. */
30
30
 
31
 
/* $Id: fuse.h,v 1.3.2.4 2008/04/30 03:34:27 arcanum Exp $ */
 
31
/* $Id: fuse.h,v 1.3.2.5 2008/07/18 20:32:14 arcanum Exp $ */
32
32
 
33
33
/* avr/fuse.h - Fuse API */
34
34
 
122
122
    
123
123
    \par API Usage Example
124
124
    
125
 
    Putting all of this together is easy:
 
125
    Putting all of this together is easy. Using C99's designated initializers:
126
126
    
127
127
    \code
128
128
    #include <avr/io.h>
140
140
    }
141
141
    \endcode
142
142
    
143
 
    Or,
 
143
    Or, using the variable directly instead of the FUSES macro,
144
144
    
145
145
    \code
146
146
    #include <avr/io.h>
158
158
    }
159
159
    \endcode
160
160
    
 
161
    If you are compiling in C++, you cannot use the designated intializers so
 
162
    you must do:
 
163
 
 
164
    \code
 
165
    #include <avr/io.h>
 
166
 
 
167
    FUSES = 
 
168
    {
 
169
        LFUSE_DEFAULT, // .low
 
170
        (FUSE_BOOTSZ0 & FUSE_BOOTSZ1 & FUSE_EESAVE & FUSE_SPIEN & FUSE_JTAGEN), // .high
 
171
        EFUSE_DEFAULT, // .extended
 
172
    };
 
173
 
 
174
    int main(void)
 
175
    {
 
176
        return 0;
 
177
    }
 
178
    \endcode
 
179
    
 
180
    
161
181
    However there are a number of caveats that you need to be aware of to
162
182
    use this API properly.
163
183