📄 plot.lst
字号:
211:io/plot.c **** PGM_P header_ptr = PLOT_BMP_HEAD;
212:io/plot.c ****
213:io/plot.c **** for(x=streampos; x<PLOT_BMP_HEADER_LENGTH; x++){
460 i8(3)
461 call __divmodhi4
462 01b4 EA2D subi r22,lo8(-(64))
463 01b6 F0E0 sbci r23,hi8(-(64))
465 01ba EB83 .LM39:
466 01bc 8CE5 ldi r31,lo8(1)
467 01be 90E0 cp r2,r31
468 01c0 8E1B brne .L24
469 01c2 9F0B .L50:
470 01c4 880F .LBB13:
471 01c6 991F .LBB14:
473 01ca 991F .Ltext1:
475 01ce 70E0 .LM40:
476 01d0 0E94 0000 sbic 60-32,1
477 01d4 605C rjmp .L50
214:io/plot.c **** signed char b;
215:io/plot.c ****
216:io/plot.c **** eedata = (32<<1);
479 (logger_temp_today)
480 ldi r21,hi8(logger_temp_today)
481 01d8 F1E0 out (62)+1-32,r21
482 01da 2F16 out 62-32,r20
484 .LM42:
485 /* #APP */
486 ; 208 "c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h" 1
487 /* START EEPROM READ CRITICAL SECTION */
488 sbi 28, 0
1:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** /* Copyright (c) 2002, 2003, 2004, 2007 Marek Michalkiewicz
2:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** Copyright (c) 2005, 2006 Bjoern Haase
3:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** Copyright (c) 2008 Atmel Corporation
4:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** Copyright (c) 2008 Wouter van Gulik
5:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** All rights reserved.
6:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h ****
7:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** Redistribution and use in source and binary forms, with or without
8:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** modification, are permitted provided that the following conditions are met:
9:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h ****
10:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** * Redistributions of source code must retain the above copyright
11:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** notice, this list of conditions and the following disclaimer.
12:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** * Redistributions in binary form must reproduce the above copyright
13:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** notice, this list of conditions and the following disclaimer in
14:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** the documentation and/or other materials provided with the
15:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** distribution.
16:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** * Neither the name of the copyright holders nor the names of
17:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** contributors may be used to endorse or promote products derived
18:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** from this software without specific prior written permission.
19:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h ****
20:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
24:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
25:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
26:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
27:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
28:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
29:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
30:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** POSSIBILITY OF SUCH DAMAGE. */
31:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h ****
32:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** /* $Id: eeprom.h,v 1.21.2.6 2008/08/19 22:10:39 arcanum Exp $ */
33:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h ****
34:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** #ifndef _AVR_EEPROM_H_
35:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** #define _AVR_EEPROM_H_ 1
36:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h ****
37:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** #include <avr/io.h>
38:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** #include <stddef.h> /* size_t */
39:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** #include <stdint.h>
40:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h ****
41:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** #ifdef __cplusplus
42:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** extern "C" {
43:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** #endif
44:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h ****
45:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** #ifndef __ATTR_PURE__
46:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** # ifdef __DOXYGEN__
47:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** # define __ATTR_PURE__
48:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** # else
49:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** # define __ATTR_PURE__ __attribute__((__pure__))
50:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** # endif
51:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** #endif
52:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h ****
53:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** #if (! (defined(__AVR_ATmega2560__) || defined(__AVR_ATmega2561__)) )
54:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** uint16_t __eerd_word (const uint16_t *, uint8_t (*)(const uint8_t *))
55:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** __ATTR_PURE__;
56:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** uint32_t __eerd_dword (const uint32_t *, uint8_t (*)(const uint8_t *))
57:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** __ATTR_PURE__;
58:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** void __eerd_block (void *, const void *, size_t, uint8_t (*)(const uint8_t *));
59:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h ****
60:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** void __eewr_word (uint16_t *, uint16_t, void (*)(uint8_t *, uint8_t));
61:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** void __eewr_dword (uint32_t *, uint32_t, void (*)(uint8_t *, uint8_t));
62:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** void __eewr_block (void *, const void *, size_t, void (*)(uint8_t *, uint8_t));
63:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** #endif /* (! (defined(__AVR_ATmega2560__) || defined(__AVR_ATmega2561__)) ) */
64:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h ****
65:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** #if !E2END && !defined(__DOXYGEN__)
66:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** # ifndef __COMPILING_AVR_LIBC__
67:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** # warning "Device does not have EEPROM available."
68:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** # endif
69:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** /* Omit below for chips without EEPROM. */
70:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h ****
71:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** #else
72:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h ****
73:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** /** \defgroup avr_eeprom <avr/eeprom.h>: EEPROM handling
74:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** \code #include <avr/eeprom.h> \endcode
75:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h ****
76:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** This header file declares the interface to some simple library
77:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** routines suitable for handling the data EEPROM contained in the
78:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** AVR microcontrollers. The implementation uses a simple polled
79:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** mode interface. Applications that require interrupt-controlled
80:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** EEPROM access to ensure that no time will be wasted in spinloops
81:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** will have to deploy their own implementation.
82:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h ****
83:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** \note All of the read/write functions first make sure the EEPROM
84:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** is ready to be accessed. Since this may cause long delays if a
85:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** write operation is still pending, time-critical applications
86:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** should first poll the EEPROM e. g. using eeprom_is_ready() before
87:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** attempting any actual I/O. But this functions are not wait until
88:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** SELFPRGEN in SPMCSR becomes zero. Do this manually, if your
89:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** softwate contains the Flash burning.
90:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h ****
91:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** \note As these functions modify IO registers, they are known to be
92:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** non-reentrant. If any of these functions are used from both,
93:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** standard and interrupt context, the applications must ensure
94:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** proper protection (e.g. by disabling interrupts before accessing
95:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** them).
96:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h ****
97:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** \note All write functions force erase_and_write programming mode.
98:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** */
99:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h ****
100:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** /** \def EEMEM
101:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** \ingroup avr_eeprom
102:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** Attribute expression causing a variable to be allocated within the
103:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** .eeprom section. */
104:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** #define EEMEM __attribute__((section(".eeprom")))
105:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h ****
106:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h ****
107:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** /* Register definitions */
108:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h ****
109:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** /* Check for aliases. */
110:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** #if !defined(EEWE) && defined(EEPE)
111:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** # define EEWE EEPE
112:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** #endif
113:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h ****
114:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** #if !defined(EEMWE) && defined(EEMPE)
115:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** # define EEMWE EEMPE
116:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** #endif
117:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h ****
118:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** #if !defined(EECR) && defined(DEECR)
119:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** /* AT86RF401 */
120:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** # define EECR DEECR
121:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** # define EEAR DEEAR
122:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** # define EEARL DEEAR
123:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** # define EEDR DEEDR
124:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** # define EERE EER
125:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** # define EEWE EEL
126:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** # define EEMWE EEU
127:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** #endif
128:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h ****
129:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h ****
130:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** #if !defined(EECR) || !defined(EEDR) || !defined(EEARL)
131:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h ****
132:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** # if !defined(__EEPROM_REG_LOCATIONS__) \
133:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** && !defined(EEPROM_REG_LOCATIONS_OVERRIDE)
134:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** /* 6-byte string denoting where to find the EEPROM registers in memory
135:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** space. Adresses denoted in hex syntax with uppercase letters. Used
136:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** by the EEPROM subroutines.
137:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** First two letters: EECR address.
138:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** Second two letters: EEDR address.
139:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** Last two letters: EEAR address.
140:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** */
141:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** # error "Unknown EEPROM register(s) location."
142:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** # endif
143:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h ****
144:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** /* If needed, override the locations defined in the IO headers. */
145:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** # ifdef EEPROM_REG_LOCATIONS_OVERRIDE
146:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** # undef __EEPROM_REG_LOCATIONS__
147:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** # define __EEPROM_REG_LOCATIONS__ EEPROM_REG_LOCATIONS_OVERRIDE
148:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** # endif
149:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h ****
150:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** # define CONCAT1(a, b) CONCAT2(a, b)
151:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** # define CONCAT2(a, b) a ## b
152:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** # define HEXNR CONCAT1(0x, __EEPROM_REG_LOCATIONS__)
153:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h ****
154:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** # undef EECR
155:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** # define EECR _SFR_IO8((HEXNR >> 16) & 0xFF)
156:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h ****
157:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** # undef EEDR
158:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** # define EEDR _SFR_IO8((HEXNR >> 8) & 0xFF)
159:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h ****
160:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** # undef EEAR
161:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** # define EEAR _SFR_IO8(HEXNR & 0xFF)
162:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h ****
163:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** # undef EEARH
164:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h ****
165:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** # undef EEARL
166:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** # define EEARL EEAR
167:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h ****
168:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** #endif
169:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h ****
170:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h ****
171:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** /** \def eeprom_is_ready
172:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** \ingroup avr_eeprom
173:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** \returns 1 if EEPROM is ready for a new read/write operation, 0 if not.
174:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** */
175:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** #if defined(__DOXYGEN__)
176:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** # define eeprom_is_ready()
177:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** #elif defined(DEECR)
178:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** # define eeprom_is_ready() bit_is_clear(DEECR, BSY)
179:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** #else
180:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** # define eeprom_is_ready() bit_is_clear(EECR, EEWE)
181:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** #endif
182:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h ****
183:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h ****
184:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** /** \def eeprom_busy_wait
185:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** \ingroup avr_eeprom
186:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** Loops until the eeprom is no longer busy.
187:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** \returns Nothing.
188:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** */
189:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** #define eeprom_busy_wait() do {} while (!eeprom_is_ready())
190:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h ****
191:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h ****
192:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** /** \ingroup avr_eeprom
193:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** Read one byte from EEPROM address \a __p.
194:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** */
195:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** __ATTR_PURE__ static __inline__ uint8_t eeprom_read_byte (const uint8_t *__p)
196:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** {
197:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** do {} while (!eeprom_is_ready ());
489 9
490 /* END EEPROM READ CRITICAL SECTION */
491 01de E199
492 01e0 00C0 ; 0 "" 2
198:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** #if E2END <= 0xFF
199:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** EEARL = (uint8_t)__p;
200:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** #else
201:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** EEAR = (uint16_t)__p;
493 NOAPP */
494 rjmp .L26
495 01e2 40E0 .L24:
496 01e4 50E0 .LBE14:
497 01e6 5FBB .LBE13:
202:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** #endif
203:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** /* Use inline assembly below as some AVRs have problems with accessing
204:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** EECR with STS instructions. For example, see errata for ATmega64.
205:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** The code below also assumes that EECR and EEDR are in the I/O space.
206:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** */
207:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** uint8_t __result;
208:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** __asm__ __volatile__
499 2:
501 .LM43:
502 subi r20,lo8(-(1))
503 .L26:
504 01ea E09A movw r4,r6
505 01ec 4DB3 add r4,r12
506 adc r5,r13
507 ldd r24,Y+5
508 ldd r25,Y+6
509 subi r24,lo8(-(8189))
510 01ee 00C0 sbci r25,hi8(-(8189))
511 std Y+6,r25
512 std Y+5,r24
513 ldd r26,Y+5
514 lsl r26
515 lsl r26
217:io/plot.c **** data_old = (32<<1);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -